iOS6上的Safari以不同的方式处理display:table

时间:2012-09-21 08:33:25

标签: html css safari ios6

iOS6上的Safari似乎对display:table的处理方式不同(与iOS5上的Safari和PC上的Safari相比)。

在iOS5上,display:table强制div进入box-sizing: border-box mode,并忽略任何覆盖大小调整大小的尝试。

在iOS6上,display:table强制div进入box-sizing: content-box mode,并忽略任何覆盖的尝试。

结果是iOS5上DIV DISPLAY:TABLE WIDTH 250px PADDING-LEFT: 50PX250px,iOS6上宽{300}宽。

我的问题:我对此的理解是否正确?是否有一种简单的方法可以使用DISPLAY获取div:在iOS5和iOS6上使用TABLE和左边距相同的宽度。

仅供参考我使用DISPLAY的原因:TABLE是因为它允许我的内容的简单垂直居中,其高度可变。

3 个答案:

答案 0 :(得分:3)

以防万一将来帮助某人,this answer为我解决了这个问题。我将填充符从使用display: table;样式的元素移动到使用display: table-cell;样式的元素。

答案 1 :(得分:2)

我遇到了同样的问题,除了这个帖子之外找不到任何文档。幸运的是,事实证明,有问题的容器不需要表:display属性。

但是,我测试了是否display:table-cell以与display:table相同的方式应用了padding,事实证明它没有。所以也许尝试将display:table属性应用于父容器(当然没有填充)并尝试在所讨论的div上显示:table-cell。

答案 2 :(得分:1)

您是否尝试添加

box-sizing: border-box

这对iOS5没有任何影响,但如果你说的是正确的,可能会修复iOS6上的显示。抱歉没有机会在iOS6上测试