css已设置width100% 为什么宽度没有占满浏览器?

html-css012

css已设置width100% 为什么宽度没有占满浏览器?,第1张

因为浏览器默认情况下会为元素添加margin和padding属性,需要将这两个属性初始化为0.

1、新建html文档,在body标签中添加一个div标签,然后为这个div设置一些样式:

2、用浏览器打开编辑好的html文档,这时可以从浏览器中发现浏览器四周留有一些白色空隙:

3、在style标签中为“*”添加“margin: 0padding: 0”样式,“*”表示所有元素,“margin”和“padding”表示外边距和内边距:

4、用浏览器重新打开编辑好的html文档,这时浏览器四周的白色空隙都会被去除:

宽度 width (与高度 height )是在网页布局中经常用到的属性,但作为新手容易会对两者的定义产生误解。下面我们给出 width 与 height 的准确定义:

上述定义很清晰地指出,元素的 width 只是元素 content 内容区的宽度,不包括 padding , border , 与 margin ,即元素的 width 并不表示元素的 可视宽度

auto 与 text-align:center 都是在局中排版中常会用到的属性设置,他们很容易被混用,下面我们给出两者的准确定义:

因此,当我们想让一个块级元素在另一个块级元素中居中时(比如 p 在某个 div 中), text-align:center 是无效的,而可以通过设置 width:auto 或者 margin:auto 实现自动局中效果。

百分比是实现页面自适应的重要途径,而元素百分比的 宿主 到底是谁一直是令人困扰的问题。其实CSS对于百分比的定义十分明确:

至此我们发现, 包含块( containing block ) 的确切定义就显得尤为重要。有时间的情况下会在这篇中进行进一步的补充或新开一篇进行介绍。