PureCSS 网格不以 Firefox 为中心
PureCSS Grid not centered on Firefox
我正在为我的网站试用 PureCSS,看起来一切都很顺利。我在 Firefox 中打开它,发现我的内容没有居中。
HTML/CSS 非常简单。如果我打开 Inspector 工具,我可以看到我的 <div class="content pure-u-1 pure-u-md-3-5">
以 60% 的宽度正确呈现。如果是这样,那为什么
.content {
margin: 0 auto;
}
在 Firefox 中将我的内容居中?在 Chrome 中一切正常。好久没做前端的东西了,快速搜索了一下,看到大家还是推荐margin: 0 auto;
居中,所以我想这和网格框架有关系吧?我也将所有内容设置为 box-sizing: border-box;
.
这似乎是浏览器之间的渲染不一致。
在您使用的框架中,网格元素设置为 inline-block
。元素需要 block
级别才能使 margin: 0 auto
生效并使元素在 FireFox 中居中:
.content {
margin: 0px auto;
display: block;
}
框架样式的罪魁祸首:
.pure-u-1, .pure-u-1-1, .pure-u-1-2, .pure-u-1-3, .pure-u-2-3, .pure-u-1-4, .pure-u-3-4, .pure-u-1-5, .pure-u-2-5, .pure-u-3-5, .pure-u-4-5, .pure-u-5-5, .pure-u-1-6, .pure-u-5-6, .pure-u-1-8, .pure-u-3-8, .pure-u-5-8, .pure-u-7-8, .pure-u-1-12, .pure-u-5-12, .pure-u-7-12, .pure-u-11-12, .pure-u-1-24, .pure-u-2-24, .pure-u-3-24, .pure-u-4-24, .pure-u-5-24, .pure-u-6-24, .pure-u-7-24, .pure-u-8-24, .pure-u-9-24, .pure-u-10-24, .pure-u-11-24, .pure-u-12-24, .pure-u-13-24, .pure-u-14-24, .pure-u-15-24, .pure-u-16-24, .pure-u-17-24, .pure-u-18-24, .pure-u-19-24, .pure-u-20-24, .pure-u-21-24, .pure-u-22-24, .pure-u-23-24, .pure-u-24-24 {
display: inline-block; /* Culprit */
letter-spacing: normal;
word-spacing: normal;
vertical-align: top;
text-rendering: auto;
}
我用来居中文本的方法如下:
.content {
width: 50%;
left: 50%;
position: absolute;
margin-left: -25%;
text-align: center;
}
它适用于我测试过的所有浏览器,包括 ff
补充一点:当您最小化浏览器时,它还会缩小文本 window。
我正在为我的网站试用 PureCSS,看起来一切都很顺利。我在 Firefox 中打开它,发现我的内容没有居中。
HTML/CSS 非常简单。如果我打开 Inspector 工具,我可以看到我的 <div class="content pure-u-1 pure-u-md-3-5">
以 60% 的宽度正确呈现。如果是这样,那为什么
.content {
margin: 0 auto;
}
在 Firefox 中将我的内容居中?在 Chrome 中一切正常。好久没做前端的东西了,快速搜索了一下,看到大家还是推荐margin: 0 auto;
居中,所以我想这和网格框架有关系吧?我也将所有内容设置为 box-sizing: border-box;
.
这似乎是浏览器之间的渲染不一致。
在您使用的框架中,网格元素设置为 inline-block
。元素需要 block
级别才能使 margin: 0 auto
生效并使元素在 FireFox 中居中:
.content {
margin: 0px auto;
display: block;
}
框架样式的罪魁祸首:
.pure-u-1, .pure-u-1-1, .pure-u-1-2, .pure-u-1-3, .pure-u-2-3, .pure-u-1-4, .pure-u-3-4, .pure-u-1-5, .pure-u-2-5, .pure-u-3-5, .pure-u-4-5, .pure-u-5-5, .pure-u-1-6, .pure-u-5-6, .pure-u-1-8, .pure-u-3-8, .pure-u-5-8, .pure-u-7-8, .pure-u-1-12, .pure-u-5-12, .pure-u-7-12, .pure-u-11-12, .pure-u-1-24, .pure-u-2-24, .pure-u-3-24, .pure-u-4-24, .pure-u-5-24, .pure-u-6-24, .pure-u-7-24, .pure-u-8-24, .pure-u-9-24, .pure-u-10-24, .pure-u-11-24, .pure-u-12-24, .pure-u-13-24, .pure-u-14-24, .pure-u-15-24, .pure-u-16-24, .pure-u-17-24, .pure-u-18-24, .pure-u-19-24, .pure-u-20-24, .pure-u-21-24, .pure-u-22-24, .pure-u-23-24, .pure-u-24-24 {
display: inline-block; /* Culprit */
letter-spacing: normal;
word-spacing: normal;
vertical-align: top;
text-rendering: auto;
}
我用来居中文本的方法如下:
.content {
width: 50%;
left: 50%;
position: absolute;
margin-left: -25%;
text-align: center;
}
它适用于我测试过的所有浏览器,包括 ff
补充一点:当您最小化浏览器时,它还会缩小文本 window。