使用html5,css,实现品字形布局

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的宽度,用容器宽度减去paddingborder的值,但有时候,我们苦于不知道元素的总宽度,比如说是自适应的布局,只知道一个百分值,但其他的值又是px之类的值,这就是难点,死卡住了。随着CSS3的出现,其中利用box-sizing来改变元素的盒模型类型实使实现效果,知道总宽度是100%,在这个基础上减去boder的宽度(5px * 2 = 10px,在减去padding的宽度(10px * 2 = 20px),即"100% - (10px + 5px) * 2 = 30px" ,最终得到的值就是div.boxwidth




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章