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来计算的,如果父节点未设置width属性,就上溯其祖父节点,这样一直上溯,直到找到明确指定了width属性的祖先节点。如果整个家族的节点都没有设置width属性,那么就以当前浏览器窗口的实际宽度为基准。

css自适应宽度有2种方式:

1.是通过百分比来控制宽度;

2.可以通过块状元素自动占满父级的宽度的特性来实现

PS:当然还有一些方法,比如css3的flex-box布局,用flex布局的话,非常的方便可以实现多种自适应布局,但是,只适用于移动端,PC端上面只有高版本的浏览器才兼容,低版本的浏览器是不兼容的。