CSS布局宽高自适应 求代码怎么写

html-css013

CSS布局宽高自适应 求代码怎么写,第1张

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<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端上面只有高版本的浏览器才兼容,低版本的浏览器是不兼容的。