2010年08月19日 星期四 上午 10:04 常见的左右两列div+css布局分为以下两种:一、左右定宽布局: 在css分别指定了左右两列的宽度的情况下,只需要将左边的div 向左浮动{float:left;},右边的div 向右浮动{float:right;},并清除浮动,即可实现。 常用的清除浮动有两种方式: a、通过在浮动元素的父级元素上添加清除浮动的class类:clearfix(见下面的css代码部分); b、通过在浮动元素后面添加一个空元素,然后在这个空元素上定义clear:both来清除浮动;二、不定宽布局:不定宽布局分为一边不定宽和两边不定宽两种形式,在实际运用中第二种情况是不会采用的,我们具体来分析一下一边不定宽的左右布局方法,有以下两种情况:1、左边定宽,右边不定宽,左在上,右在下;(此处的上和下是指在html代码中从上到下编写顺序中的位置,下文皆同) 遇到这种情况时,要将两个div进行左右布局,与左右定宽布局的方法基本相同,只需要将左边的div向左浮动{float:left;},并清除浮动,右边的div就会跟在已浮动的“div左”后面,即已经实现左右两列布局了。 2、左边定宽,右边不定宽,左在下,右在上; 将右边div写在上方,通常是希望在加载网站内容时先显示右边的内容,这种情况在“左边为菜单,右边是内容”的左右布局中经常用到。 总结几点如下: 1)将右边的div向右浮动,并设一个负的margin-left; 2)在右边div里面增加一个div,用于放右边的内容,计算出左边需要留出的宽度,并将此数据设置为该div的margin-left,如{margin-left:280px;}; 3)浮动后一定要在父级元素或后一个元素上清除浮动;三、示例代码: 下面我们通过一个简单的子例来了解一边定宽、左下右上的结构是如何实现左右两列布局的: 左右布局-左边定宽,右边不定宽;右在上,左在下 <br />/* reset */<br />*,body{margin:0;padding:0;}<br />/* commons */<br />body{font-size:13px;} <p>.clearfix:after{content:".";display:block;visibility:none;height:0;clear:both;}<br />.clearfix{zoom:1;display:inline-block;} <p>#bd{background-color:#DDD; min-height:50px;_height:50px;} <p>#bd .right{ background-color:red;float:right;width:100%;}<br />#bd .right .content{ margin-left:270px;background-color:blue;color:#FFF;} <p>#bd .left{background-color:green;color:#FFF;width:260px; float:left; position:absolute}<br /> 上 右我在右边 右我在右边 右我在右边 右我在右边 我在左边 下