在这个页面上,我有一个双色背景.页面的结构是:
<body>
<div id="upbg"/>
<div id="container"/>
</body
Run Code Online (Sandbox Code Playgroud)
通过向upbg添加深色背景图像并在身体上添加较亮的背景图像来实现此背景.upbg的css是:
#upbg {
background: #FFFFFF url(images/bg-dark.jpg) repeat-x scroll 0 0;
height: 275px;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
Run Code Online (Sandbox Code Playgroud)
如果您使浏览器窗口非常窄以显示滚动条,那么如果您向右滚动,您会注意到upbg的背景图像不会填满页面的整个宽度.
我的猜测是因为'width:100%'表示浏览器窗口的宽度,而不是页面的整个宽度,有没有办法解决这个问题?
谢谢,唐
我的猜测是因为'width:100%'表示浏览器窗口的宽度,而不是页面的整个宽度,有没有办法解决这个问题?
100%表示它将与它相对于它定位的父元素一样宽(在这种情况下body,其宽度将基于其父元素的宽度html).除非另有说明,否则它将与浏览器窗口一样宽.
问题是,你有另一个孩子body可能会比宽body:这两个#container和#footer的风格,使得他们永远是至少1026px宽.这并没有扩大它们的父元素,因为我们已经确定它们将与浏览器窗口一样宽; 相反,他们溢出了他们的父母.对此的默认响应是显示滚动条,以便您可以滚动并查看溢出的内容; 如果您将样式添加overflow:hidden到html或body,您会发现您的内容和页脚剪裁到浏览器窗口的大小,并且没有显示滚动条.
有几个简单的解决方案:
position: absolute; padding-top:25px; background: url(images/bg-dark.jpg) repeat-x scroll 0 0;这样就完成了两件事:你不再为#upbg指定宽度,从而允许它变得足够宽以包围它的新子节点,它允许你摆脱它很多现在不必要的样式(你要清除你设置的填充body,以及一些样式#content).交替,#content和#footer,所以他们不会溢出.| 归档时间: |
|
| 查看次数: |
12843 次 |
| 最近记录: |