当css属性width设为100%时

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值