html,body{
margin:0;
padding:0;
}
div:first-child{
width:100%;
height:100%;
background:red;
}
如果这样写的话div的height:100%;是无效的,需要在html,body中加入 height:100%:或者div:first-child中加入position:absolute;div中的height:100%;才有效
如果不在前面声明<!DOCTYPE html>的话两个都不写也行
实现品字形布局代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>品字形布局</title>
</head>
<style>
html,body{
margin:0;
padding:0;
height:100%;
}
div:first-child{
/*position:absolute; 两者二选一,*/
width:100%;
height:calc(100% - 200px);
background:red;
}
div:nth-child(2){
position:fixed;
width:50%;
height:200px;
background:green;
bottom:0;
left:0;
}
div:nth-child(3){
position:fixed;
width:50%;
height:200px;
background:yellow;
bottom:0;
right:0;
}
</style>
<body>
<div></div>
<div></div>
<div></div>
</body>
</html>
calc 使用时 + -号前后需要有空格
表达式中有“*”和“/”时,其前后可以没有空格,但建议留有空格。
<span style="font-family: Arial, Helvetica, sans-serif;">calc(100% - 200px);</span>
calc(1rem + 2%);
calc(1px + 1em - 2rem);
calc()的运用
为了解决撑破容器的问题,以前我们只能去计算div.box的宽度,用容器宽度减去padding和border的值,但有时候,我们苦于不知道元素的总宽度,比如说是自适应的布局,只知道一个百分值,但其他的值又是px之类的值,这就是难点,死卡住了。随着CSS3的出现,其中利用box-sizing来改变元素的盒模型类型实使实现效果,知道总宽度是100%,在这个基础上减去boder的宽度(5px * 2 = 10px),在减去padding的宽度(10px * 2 = 20px),即"100% - (10px + 5px) * 2 = 30px" ,最终得到的值就是div.box的width值