【发布时间】:2016-03-20 10:14:52
【问题描述】:
所以,我的目标是创建三个方形框,它们的边会根据浏览器的大小展开/收缩。每个框只包含一行文本,所以想法是有大量的填充来填充额外的空间。
该站点是使用 flexbox 构建的,我认为我有一个优雅的解决方案,即使用 :before 继承父元素的宽度并将其长度用作 padding-top:
.square:before {
content:'';
padding-top:100%;
}
这在大多数浏览器中都能完美运行,但我很沮丧地看到 Firefox 出现问题。这是其余的代码和一个 JSFiddle。有什么建议吗?
http://jsfiddle.net/uLqqop0q/5/
你的 CSS ~~
#container {
display: flex;
width: 100%;
flex-direction: row;
justify-content: center;
max-width: 1200px;
margin: 0 auto;
}
.square {
display: flex;
flex: 1 0 auto;
margin: 10px;
border: 10px solid blue;
justify-content: center;
align-items: center;
color: #111111;
font-size: 1.7rem;
height: auto;
text-align: center;
vertical-align: middle;
}
.square:before {
content:'';
padding-top:100%;
}
编辑:最简单的修复——只需将“display:table”添加到伪元素。
【问题讨论】:
-
谢谢!!抱歉我没找到。
-
谢谢,我在 Firefox 上的伪元素上的百分比填充时遇到了同样的问题。显示:表格;修好了。