当css属性width设为100%时

来源:互联网 发布:通用后台管理系统源码 编辑:程序博客网 时间:2024/04/30 00:54

平常在写页面html代码时,经常会使用到width:100%来使控件宽度为父控件的内容宽度。但如果父控件为body,而且没有明确设置body的宽度,那么就会出现以下的情况了。

  代码:

1 <body>
2 <div style="background:#888;width:100%;height:200px">
3 <div style="width:1000px;height:100px;margin:0 auto;border:solid 1px red"></div>
4 </div>
5 </body>

浏览器最大化时:

浏览器宽度调到出现水平滚动条时:

使用水平滚动条,浏览右边部分时:

结果右边没有灰色背景。

 

分析:在没有明确设定body的宽度时,body的宽度就是浏览器可显示区域的宽度,上面的例子中可显示区域的宽度明显小于1000px,也就是说body的宽度远远小于1000px。所以body下的控件宽度被设为100%时,也只能是等于或小于浏览器可显示的宽度。

 

解决方法

1.body设定明确的宽度。

2.如果body不能设定明确的宽度。如主内容居中,两边留白处宽度自动,可以在主内容的中设定相同的背景。(注意:对于有边框的情况,因主内容的父控件已经设定背景和边框,而主内容也需要设定背景和边框,那么它们重叠的地方会出现边框加粗的情况,这时把有边框的图片作为背景就能达到所要的效果)。

原创粉丝点击