DIV+CSS经典??三列布局(左右固定 中间自适应)
2009-04-03 09:15
579 查看
转自http://www.zendstudio.net/post/52/
一直都不断有人在问:“我要用DIV+CSS实现三列布局,并且要左右固定宽度,中间自适应,要怎么弄?”
我一般都是这样回答:“中间设margin-left留出leftdiv的宽度,设margin-right留出rightdiv的宽度,然后leftdiv左浮动,rightdiv右浮动!”,不过居然有人说不行。我只好用实践证明我的真理的正确性。
OK!下面是我的完整的测试代码。
<!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>无标题文档</title>
<style type="text/css">
<!--
* {
margin:0;
padding:0;
}
.box{
width:100%;
font-size:12px;
}
.leftdiv{
float:left;
width:200px;
height:600px;
background:#f00;
}
.middlediv{
background:#0f0;
height:600px;
margin:0 200px;
}
.rightdiv{
float:right;
width:200px;
height:600px;
background:#00f;
}
.clearfix{
clear:both;
font-size:0;
height:0;
}
-->
</style>
</head>
<body>
<div class="box">
<div class="leftdiv">此处显示 class "leftdiv" 的内容</div>
<div class="rightdiv">此处显示 class "rightdiv" 的内容</div>
<div class="middlediv">此处显示 class "box" 的内容</div>
<div class="clearfix">此处显示 class "clearfix" 的内容</div>
</div>
</body>
</html>
一定注意三个DIV的顺序!没有修复IE 3px bug,但几乎不影响表现。以上代码在IE 6、FF中测试通过。
从此推断,两列的布局就是去掉右边的DIV,然后中间去掉margin-right。
一直都不断有人在问:“我要用DIV+CSS实现三列布局,并且要左右固定宽度,中间自适应,要怎么弄?”
我一般都是这样回答:“中间设margin-left留出leftdiv的宽度,设margin-right留出rightdiv的宽度,然后leftdiv左浮动,rightdiv右浮动!”,不过居然有人说不行。我只好用实践证明我的真理的正确性。
OK!下面是我的完整的测试代码。
<!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>无标题文档</title>
<style type="text/css">
<!--
* {
margin:0;
padding:0;
}
.box{
width:100%;
font-size:12px;
}
.leftdiv{
float:left;
width:200px;
height:600px;
background:#f00;
}
.middlediv{
background:#0f0;
height:600px;
margin:0 200px;
}
.rightdiv{
float:right;
width:200px;
height:600px;
background:#00f;
}
.clearfix{
clear:both;
font-size:0;
height:0;
}
-->
</style>
</head>
<body>
<div class="box">
<div class="leftdiv">此处显示 class "leftdiv" 的内容</div>
<div class="rightdiv">此处显示 class "rightdiv" 的内容</div>
<div class="middlediv">此处显示 class "box" 的内容</div>
<div class="clearfix">此处显示 class "clearfix" 的内容</div>
</div>
</body>
</html>
一定注意三个DIV的顺序!没有修复IE 3px bug,但几乎不影响表现。以上代码在IE 6、FF中测试通过。
从此推断,两列的布局就是去掉右边的DIV,然后中间去掉margin-right。
相关文章推荐
- 【CSS】三列布局(左右div固定宽度,中间div随浏览器窗口自适应变化宽度)
- DIV/CSS 实现三列,左右两列固定,中间一列自适应
- css三列布局,中间div固定,两侧div宽度自适应
- 前端经典面试题之CSS实现三栏布局,左右宽度固定,中间宽度自适应
- CSS三列布局之左右宽度固定,中间元素自适应问题
- DIV布局之三行三列左右两栏固定中间自适应
- css实现三列布局,左右固定值,中间自适应。
- css三列布局,最右侧div固定,其他两列自适应
- DIV+CSS布局问题:一个宽度不确定的DIV里面放三个水平对齐的DIV,左右两个DIV宽度固定为150px,中间那个DIV充满剩余的宽度
- div三列,左右固定宽度,中间自适应
- DIV_CSS布局问题:3个水平对齐布局的DIV,左右固定宽,中间宽度自动填充
- CSS自适应布局(左右固定 中间自适应或者右侧固定 左侧自适应)
- (div+css)上下固定中间自适应高度网页布局的实现
- CSS自适应布局(左右固定 中间自适应或者右侧固定 左侧自适应)
- HTML/CSS学习之 三列布局,其中左侧和右侧的部分宽度固定,中间部分宽度随浏览器宽度的变化而自适应变化
- css实现左右布局,左侧div固定不变,右侧div宽度自适应
- 纯CSS实现三列布局(两边固定,中间自适应)
- CSS实现左右栏宽度固定中间栏宽度变化且各栏高度自适应背景色不同的三栏布局
- (div+css)上下固定中间自适应高度网页布局的实现(FF,IE)
- CSS布局:三栏布局,中间栏固定宽度,左右两边自适应