CSS布局实例:上中下三行 中间自适应

资讯 驱动中国 112次阅读
分享 Q
AI摘要
由 AI 生成 · 仅供参考

  CSS布局实例:上中下三行布局,上下定高,中间栏自适应浏览器高度,且内容垂直居中。本文代码在firefox 2.0 / win ie 6/ win ie 7 /opera 8.5 cn/win safari 测试通过。对于非ie内核浏览器,通过设定display:table、display:table-row和display:table-cell来模拟

  CSS布局实例:上中下三行布局,上下定高,中间栏自适应浏览器高度,且内容垂直居中。本文代码在firefox 2.0 / win ie 6/ win ie 7 /opera 8.5 cn/win safari 测试通过。对于非ie内核浏览器,通过设定display:table、display:table-row和display:table-cell来模拟表格的表现形式。

最外层#box { display:table; },高度100%,其子层#header/#main/#footer为{ display:table-row; },因此可以模拟表格的行效果,上下定高,则中间不定高的层自适应高度。

#wrap层为{ display:table-cell; }模拟单元格,因此可以设定{ vertical-align:middle; },垂直居中。

由于Win IE不支持{ display:table; },因此,只能采取定位的方式实现。内是针对ie的设定。

以下是引用片段:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>
<title>上中下三行布局,上下定高,中间栏自适应浏览器高度,且内容垂直居中</title>
<styletype="text/css">
*{
margin:0;
padding:0;
}
html,
body,
#box{
height:100%;
font:small/1.5"宋体",serif;
}
body{
text-align:center;
}
#box{
text-align:left;
background:#666;
display:table;
width:80%;
margin:0auto;
position:relative;
}
#box>div{
display:table-row;
}
#header,
#footer{
background:#fcc;
height:50px;
}
#main{
background:#ccf;
}
#main#wrap{
display:table-cell;
background:#ffc;
vertical-align:middle;
}
#text{
text-align:center;
}
</style>
<!--[ifIE]>
<styletype="text/css">
#header,
#footer{
width:100%;
z-index:3;
position:absolute;
}
#footer{
bottom:0;
}
#main{
height:100%;
z-index:1;
position:relative;
}
#main#wrap{
position:absolute;
top:50%;
width:100%;
text-align:left;
}
#main#text{
position:relative;
width:100%;
top:-50%;
background:#ccc;
}
</style>
<![endif]-->
</head>
<body>
<divid="box">
<divid="header">header</div>
<divid="main">
<divid="wrap">
<divid="text">
<p>内容内容</p>
<p>内容内容</p>
<p>内容内容</p>
<p>内容内容</p>
<p>内容内容</p>
<p>内容内容</p>
<p>内容内容</p>
<p>内容内容</p>
<p>内容内容</p>
<p>内容内容</p>
<p>内容内容</p>
<p>内容内容</p>
<p>内容内容</p>
<p>内容内容</p>
</div>
</div>
</div>
<divid="footer">footer</div>
</div>
</body>
</html>

版权声明:本文由驱动中国整理发布,转载需注明出处与原文链接。如有疑问请联系 editor@qudong.com
本文价值 成为第一个评分的人
登录后为本文打分
网友评论0 条评论
正在回复 的评论取消
评论加载中…
🔐

登录后参与互动

评论、点赞均可赚积分
连续签到、邀请好友也有奖励 🎁

电脑端: 微信扫码登录 微信内: 一键登录
我要投稿有独家观点或行业线索?向驱动中国投稿,审核采用后署名发布并获积分奖励。 去投稿 ›

微信扫一扫

打开微信「扫一扫」,分享本文到朋友圈或好友