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值