<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html charset=gb2312" />
<title>CSS布局:自适应高度的CSS布局-懒人图库</title>
<STYLE type="text/css">
*{margin:0padding:0}
html, body{height:100%text-align:centerfont:12px/1.4 Verdana,sans-serif}
#wrapper{width:1160pxmin-height:100%background: #EEEmargin: autotext-align:center}
*html #wrapper{height:100%}
</STYLE>
</head>
<body>
<DIV id="wrapper">
<br /><br />
<h1>CSS布局:自适应高度的CSS布局</h1>
<p>查找更多代码,请访问:<a href="http://www.lanrentuku.com/" target="_blank">懒人图库</a></p><br />
<script type="text/javascript" src="http://d.lanrentuku.com/goto/js-preview-728x90.js"></script>
</DIV>
</body>
</html>
一、float实现
html结构:
[html] view plain copy
<div class="left"></div>
<div class="right"></div>
<div class="center"></div>
css:
[css] view plain copy
.left,.right{
width: 200px
height: 300px
background-color: red
}
.left{
float: left
}
.right{
float: right
}
.center{
margin: 0 210px
height: 300px
background-color: blue
}
这种实现受外界影响小,但是对html结构有要求(center必须放在最后,left与right则无所谓),当界面缩小到一定程度时,right会被挤到下一行
二、position实现
html结构:
[html] view plain copy
<div class="left"></div>
<div class="right"></div>
<div class="center"></div>
css:
[css] view plain copy
.left,.right{
position: absolute
width: 200px
height: 300px
background-color: yellow
}
.left{
left: 0
}
.right{
right: 0
}
.center{
margin: 0 210px
height: 300px
background-color: blue
}
该法布局的好处,三个div顺序可以任意改变。不足是 因为绝对定位,所以如果页面上还有其他内容,top的值需要小心处理,最好能够对css样式进行一个初始化,如果不对样式进行初始化,则两边和中间的值会对不齐。 另外,随着浏览器窗口缩小,小于200px的时候,会发生重叠。
css自适应宽度有2种方式:1.是通过百分比来控制宽度;
2.可以通过块状元素自动占满父级的宽度的特性来实现
PS:当然还有一些方法,比如css3的flex-box布局,用flex布局的话,非常的方便可以实现多种自适应布局,但是,只适用于移动端,PC端上面只有高版本的浏览器才兼容,低版本的浏览器是不兼容的。