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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏河湾欢儿的专栏

表格

表格标签: table 表格 thead 表格头 tbody 表格主体 tr 表格行 th 元素定义表头 td 元素定义表格单元

11710
来自专栏smy

pc浏览器css和js计算浏览器宽度的差异以及和滚动条的关系

如图: css宽度:1250 不包括滚动条宽度 用控制台箭头选取元素显示的左边的宽度:1250  不包含滚动条宽度 缩放浏览器右上角显示的宽度:1267 包含了...

32160
来自专栏十月梦想

css的position定位详解

iii.  父级元素定位(绝对定位absolute)的子元素absolute定位情况:都不保留原文档流空白

11330
来自专栏柠檬先生

jquery 层级选择器

关于层级选择器。 $("parent > child") 选择所有指定“parent”元素中指定的“child”的直接子项元素。 parent :...

203100
来自专栏james大数据架构

Android中Button

1.android:drawableTop="@drawable/accept"设置在按钮文本的上面绘制指定图片。可同时指定drawableLeft等其它方向 ...

23680
来自专栏练小习的专栏

分享一个跨浏览器固定定位的方法。

我发现原来做前端真的是需要创意的。前几天看到别人用boeder代替边距做hover效果,这次又看到用这个办法做固定定位的,解开了我一个心结。 其实很简单,就是我...

222100
来自专栏十月梦想

HTML表格

            4.cellspacing:外边距(单元格和单元格之间的距离)

76520
来自专栏一个爱吃西瓜的程序员

Web前端基础【1】--HTML基础

HTML不是编程语言,是一种表现网页信息的符号标记语言。标记语言是一套标记,HTML使用标记来描述网页。Web浏览器的作用就是读取HTML文档,并以网页的形式显...

38680
来自专栏柠檬先生

jquery mobile 移动web(2)

button 按钮   data-role="button" 将超链接变成button。   具有icon 图标的button 组件...

20750
来自专栏林德熙的博客

win10 uwp 使用 LayoutTransformer

如果需要使用旋转,那么很容易把图片旋转的布局被裁剪。如果需要旋转的控件还在指定的 Grid 内,就需要使用布局的旋转。本文告诉大家如何使用 LayoutTran...

12220

扫码关注云+社区

领取腾讯云代金券