我在下面有一个html片段,可以在所有浏览器中完美呈现。然而,在iphone和ipad上的webkit中,当我捏页面(使其更小)时,我看到一个黑色边框,这是身体的背景颜色,只在右边缘闪耀。这只发生在我指定.headerpic div的宽度时。由于这是文档中唯一指定宽度的地方,我想知道为什么它不能一直渲染到右边缘(因为这理论上是文档中最宽的部分?)。
我附上了一张我ipad上的照片。
<!doctype html>
<html>
<head>
<style>
body {background-color:#000;color:#231f20;margin:0;}
#wrapper {background-color:#fff;min-height:1000px;}
#header .headerpic {height:102px;padding-top:80px;margin:0 auto;width:986px;}
#footer {color:#fff;}
</style>
</head>
<body>
<div id="wrapper">
<div id="header">
<div class="headerpic">
</div>
</div>
</div>
<div id="footer">
</div>
</body>
</html>
答案 0 :(得分:8)
在我的案例中使用:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
而不是:
<meta name="viewport" content="width=device-width">
诀窍!
答案 1 :(得分:2)
它会清楚地说明您的问题:http://jsbin.com/ilenu5/5
我做了什么:
#headerpic
至1286px #headerpic
的背景色,
这是红色的所以你的实际问题是:发生溢出
为什么呢?
因为您未设置viewport
(width=device-width
)和body
的最小物理宽度(以px或cm或em为单位),所以默认情况下您的body
宽度为980px,并由#wrapper
继承 - 因此您的986px #headerpic
溢出#wrapper
,并显示您的黑色背景。由于溢出区域宽度很小(986-980 = 6px),您会看到一条黑线。
答案 2 :(得分:1)
让#wrapper
position:absolute
解决问题。
答案 3 :(得分:0)
就我而言:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
并且:
html, body {min-width:980px; overflow-x: hidden;}
解决问题。
答案 4 :(得分:0)
应用
/
我的一个div做了它
给予@starkadh奖励以获得灵感。