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: 50PX
宽250px
,iOS6上宽{300}宽。
我的问题:我对此的理解是否正确?是否有一种简单的方法可以使用DISPLAY获取div:在iOS5和iOS6上使用TABLE和左边距相同的宽度。
仅供参考我使用DISPLAY的原因:TABLE是因为它允许我的内容的简单垂直居中,其高度可变。
答案 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上测试