css+div三列宽度自适应
来源:互联网 发布:数据分析类网站 编辑:程序博客网 时间:2024/05/16 12:32
http://blog.163.com/ronghao1987@126/blog/static/96613068201001935844800/
源码:
<!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" c />
<title>3列布局</title>
<style type="text/css">
body {
font-family: Verdana, Arial;
margin: 0;
font-size: 12px;
}
#dyhead {
margin-bottom: 10px;
}
#dyleft {
float: left;
width: 200px;
}
#dycenter {
margin: 0 210px;
}
#dyright {
float: right;
width: 200px;
}
#dyfoot {
margin-top: 10px;
clear: both;
}
div {
background-color: #eee;
border: dotted 1px green;
}
</style>
</head>
<body>
<div id="dyhead">头部(3列布局,左右两栏宽度固定,中间栏自适应宽度)</div>
<div id="dyleft">左栏固定宽度为200px</div>
<div id="dyright">右栏固定宽度为200px</div>
<div id="dycenter">中间自适应宽度</div>
<!--注意这里,中间3列的div的顺序不是“左中右”,而“左右中”,中间一列写在最后-->
<div id="dyfoot">底部</div>
</body>
</html>
由于左右两列宽度固定,不受分辨率的影响。但中间列就不一样了,它的宽度会随着分辨率的变化而变化,就像是X一样,是未知之数~~~~当然,分辨率越高就越有利。
假设,左右两列宽度为200px,中间列自适应宽度。现在设计在中间列的上面先放一个div,这个div用来放banner,也就是一张500px的图片。那么,这3列的宽加起来是大于或等于900px了。由此看来,这个页面显示1024*768以上的分辨率是没有问题的,但在800*600下,排版就出现了错乱,中间列“下沉”了(大家可以测试一下)。
所以,要用这种排版方法前必须想清楚像素问题,要不要兼容800*600?中间列会不会有一些宽度较大的元素,如图片、flash、文本框等等?话又说回来,现在很多网站只要求兼容1024*768分辨率以上的就可以了……
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
另外,我们再来研究一下吧。卓越网在800*600分辨率下,仍然可以正确显示!但浏览器就出现了一条下滚动条~~为什么呢?原来卓越在800*600分辨率下时,整个页面是以固定宽度的情况下显示的!也是就,用到了判断。
大家一看代码就明白了~~这是我在上面的代码中修改过来的~~让它在中间列有一张宽度为500px的图片时也可以兼容800*600。
由于IE6不识别min-width,所以用到CSS Expr
源码:
<!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" c />
<title>3列布局</title>
<style type="text/css">
body {
font-family: Verdana, Arial;
margin: 0;
padding:0;
font-size: 12px;
}
#container{/*添加外层容器,用来设置最小宽度*/
min-width:975px; /*For FF*/
_width:expr
border:1px solid #33CCFF;
}
#dyhead {
background-color: #eee;
border:1px dotted green;
}
#center:after{
content:".";
visibility:hidden;
display:block;
height:0;
clear:both;
}
#center{/*用以闭合内层3个浮动的层*/
clear:both;
width:100%;
margin:10px auto;
padding:10px 0;
border:1px solid #FF0000;
}
#dyleft {
float: left;
width: 200px;
border:1px solid #9900FF;
}
#dycenter {
min-width:56.3%;
_width:expr
margin:0 210px 0 210px;
border:1px solid #0000CC;
}
#dyright {
float: right;
width: 200px;
border:1px solid #9900FF;
}
#dyfoot {
clear: both;
background-color: #eee;
border:1px dotted green;
}
</style>
</head>
<body>
<div id="container">
<div id="dyhead">头部(3列布局,左右两栏宽度固定,中间栏自适应宽度)</div>
<div id="center">
<div id="dyleft">左栏固定宽度为200px</div>
<div id="dyright">右栏固定宽度为200px</div>
<div id="dycenter">中间自适应宽度<br/><img src="file:///E|/阿君/html/培训光盘网/images/changePIC01.gif" alt="" width="500" height="150" /><br/>亲眼见她“阴”过一个MM。那次我们要争取一个重要的客户,女人让MM做个产品的展示和推介计划。那天中午,女人特地请MM去吃大餐,席间,她一反常态,用琼瑶片女主角的温柔腔调甜言蜜语:“你很努力,我都看在眼里,你真是我的好帮手……</div>
</div>
<div id="dyfoot">底部</div>
</div>
</html>
PS:更多技术交流,到http://chris.cf-blog.cn/吧!
- css+div三列宽度自适应
- css+div三列宽度自适应
- css三列布局,中间div固定,两侧div宽度自适应
- 【CSS】三列布局(左右div固定宽度,中间div随浏览器窗口自适应变化宽度)
- Div+css下HTML设计三列自适应宽度出现换行的解决办法
- css三列布局,左边两个div固定,最右边宽度自适应
- [ CSS ] div宽度自适应!
- css div自适应宽度
- div三列,中间一列宽度自适应,2边固定
- div三列,左右固定宽度,中间自适应
- CSS-两侧固定宽度,中间自适应的三列布局
- DIV+CSS 布局一行两列,左列固定宽度,右列自适应宽度;设置最小宽度
- CSS布局-DIV宽度自适应
- js控制三列高度自适应DIV+CSS页面
- js控制三列高度自适应DIV+CSS页面
- js控制三列高度自适应DIV+CSS页面
- 三列浮动中间列宽度自适应
- 三列浮动中间列宽度自适应
- iphone向Web服务器发送图片
- c#界面鼠标拖动
- Python Socket 简单应用
- 【小程序】摇骰子游戏BETA版
- Java获取系统信息(cpu,内存,硬盘,进程等)的相关方法
- css+div三列宽度自适应
- hadoop集群环境部署之cloudera
- 激励自己
- Apache httpd 远程拒绝服务
- ARM存储系统管理
- UNIX 设置 JAVA 环境变量
- SQL server和C#,VB.net中Round方法的差异
- taobao数据平台官方博客
- 如何在ASP.NET中发送嵌入图片的邮件