首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Safari无法正确显示基于百分比的网格系统

Safari无法正确显示基于百分比的网格系统
EN

Stack Overflow用户
提问于 2014-07-14 19:26:59
回答 2查看 770关注 0票数 2

我有一个网格系统,它有一个问题,即列并不总是填满行div。这是一个仅限Safari的问题,对桌面和移动浏览器都有影响。这似乎是由于Safari不能完全支持子像素渲染。

下面提出的一个解决方案要求我关闭边界框。然而,我真的需要它来阻止网格崩溃。有什么解决方案可以解决这个问题吗?我不介意解决方案是基于JS的,因为它不会对性能产生太大影响。谢谢。

代码语言:javascript
复制
*, *::before, *::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.row {
    width: 100%;
    margin: 0 auto;
    max-width: 75rem;
}
.row:before, .row:after, .row .row:before, .row .row:after, .row .row.edge:before, .row .row.edge:after {
    content:" ";
    display: table;
}
.row:after, .row .row:after, .row .row.edge:after {
    clear: both;
}
.row.edge > .col {
    padding: 0;
}
.row.edge .row {
    margin: 0;
}
.row .row, .row .row.edge {
    width: auto;
    margin: 0 -.75rem;
    max-width: none;
}
.row .row.edge, .row .row.edge.edge {
    margin: 0;
}
.col {
    position: relative;
    padding: 0 .75rem;
    float: left;
}
.s-5 {
    width: 5%;
}

http://jsfiddle.net/matt3224/XT9QZ/1/

问题的图片在这里!Columns not filling row

EN

回答 2

Stack Overflow用户

发布于 2014-07-14 20:02:17

这是因为您在.col中放置了padding: 0 .75rem;,尝试删除该代码,它将是您想要的。这是因为你定义了一个固定的填充值,通过这样做你意外地给出了min。cols的宽度。

票数 0
EN

Stack Overflow用户

发布于 2014-07-14 20:28:01

删除box-sizing: border-box;

删除此CSS

代码语言:javascript
复制
*, *::before, *::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

检查this

或者,您可以覆盖box-sizing

CSS

代码语言:javascript
复制
.row {
    width: 100%;
    margin: 0 auto;
    max-width: 75rem;
    box-sizing: content-box; /*Add this css*/
    }

.col {
    position: relative;
    padding: 0;
    float: left;
    box-sizing: content-box; /*Add this css*/
}

检查this

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24735500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档