先贴代码:
css代码
<style>
html,body{
width: 100%;
height: 100%;
}
body {
margin: 0;
box-sizing: border-box;
padding: 0 90px;
}
.aaa {
width: 100%;
height: 100%;
background-color: black;
}
</style>
html代码
<body>
<div class="aaa">
</div>
</body>
作为一个前端新手,我自己有一些疑问并解决了,整理如下:
问题一:
html,body{
width: 100%;
height: 100%;
}的作用是什么。
首先我们来看这样一段css代码:
<style type="text/css">
.a{width: 80%;height: 30%;background-color: :black;}
</style>
这在浏览器中是没有显示的。原因是元素高度百分比需要向上遍历父标签(祖先元素)要找到一个定值高度才能起作用。而html100%宽高获取到的是浏览器窗口大小。而浏览器大小是固定数值。但由于浏览器没有标签,所以只能是html标签获取浏览器宽高作为一个参照值。
那么body为什么也是100%呢?
html元素是默认的auto,是会随浏览器大小变化的。有时候还会出现滚动条,而body没有,body是固定的,所以也要给body100%宽高,不然只能由子元素支撑它的大小。
为什么body要有margin:0?
清除默认body的margin,不同浏览器默认的body带margin,会有空隙。