您的位置:首页 > Web前端 > CSS

CSS实现自适应宽度

2009-10-10 16:47 239 查看
三列等高,实现效果如下:



问题分析:
【1】对结构的理解。Main列先显示出来,在结构书写上就应该是Main的XHTML代码被写在前面。这样默认就会首先加载它。

【2】对CSS样式属性的理解和灵活应用。不使用背景图片,且仅用纯CSS实现三列等高。参考翻译《使用负边距创建自适应宽度的流体布局》,说白了是自适应宽度,咱们这里要做的是自适应高度…

实现代码:

<!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=utf-8" />
<title>test-3</title>
<mce:style type="text/css"><!--
body {/*定义body宽并横向居中*/
width:960px;
margin:0 auto;
}
#header {
background: #A9A9A9;
height: 70px;
}
#container {
margin-top: 10px;
overflow: hidden;/*隐藏子栏目的padding-bottom*/
zoom:1;/*IE6下激发haslayout*/
}
#container #mainContain {/*框起左边栏及主体部分,使得可通过样式实现与右边栏的分离*/
float: left;
width: 680px;
}
#container #mainContain #leftBar {/*定义左边栏*/
float: left;
width: 270px;
background: #424242;
}
#container #mainContain #mainBox {/*定义主体内容*/
float: right;
width: 400px;
background: #A9A9A9;
}
#container #rightBar {/*定义右边栏*/
float: right;
width: 270px;
background: #797979;
}
#container .column {/*此为关键点*/
padding-bottom: 3000px;/*设置一个足够的下边填充,使得高度相对较矮的box可在视觉上延伸其高度*/
margin-bottom: -3000px;/*设置一个与其设置的下边填充数额相等的反向下边边距,使得其在布局上维持相对合理状态*/
}
--></mce:style><style type="text/css" mce_bogus="1">body {/*定义body宽并横向居中*/
width:960px;
margin:0 auto;
}
#header {
background: #A9A9A9;
height: 70px;
}
#container {
margin-top: 10px;
overflow: hidden;/*隐藏子栏目的padding-bottom*/
zoom:1;/*IE6下激发haslayout*/
}
#container #mainContain {/*框起左边栏及主体部分,使得可通过样式实现与右边栏的分离*/
float: left;
width: 680px;
}
#container #mainContain #leftBar {/*定义左边栏*/
float: left;
width: 270px;
background: #424242;
}
#container #mainContain #mainBox {/*定义主体内容*/
float: right;
width: 400px;
background: #A9A9A9;
}
#container #rightBar {/*定义右边栏*/
float: right;
width: 270px;
background: #797979;
}
#container .column {/*此为关键点*/
padding-bottom: 3000px;/*设置一个足够的下边填充,使得高度相对较矮的box可在视觉上延伸其高度*/
margin-bottom: -3000px;/*设置一个与其设置的下边填充数额相等的反向下边边距,使得其在布局上维持相对合理状态*/
}</style>
</head>

<body>
<div id="header"></div>

<div id="container">
<div id="mainContain">
<div id="mainBox" class="column"><!--把主体的XHTML结构写在前面,会使得这部分在浏览器中首先被加载-->
<p>d</p>
<p>d</p>
<p>d</p>
<p>d</p>
<p>d</p>
<p>d</p>
<p>d</p>
<p>d</p>
<p>d</p>
<p>d</p>
<p>d</p>
<p>d</p>
</div>
<div id="leftBar" class="column"></div><!--左侧边栏-->
</div>
<div id="rightBar" class="column"></div><!--右侧边栏-->
</div>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: