网上流传的,我觉得很经典了,你可以看原地址更清楚些。
CSS常用布局实例
一列
单行一列
body { margin: 0px; padding: 0px; text-align: center; }
#content { margin-left:auto; margin-right:auto; width: 400px; width: 370px; }
两行一列
body { margin: 0px; padding: 0px; text-align: center;}
#content-top { margin-left:auto; margin-right:auto; width: 400px; width: 370px;}
#content-end {margin-left:auto; margin-right:auto; width: 400px; width: 370px;}
三行一列
body { margin: 0px; padding: 0px; text-align: center; }
#content-top { margin-left:auto; margin-right:auto; width: 400px; width: 370px; }
#content-mid { margin-left:auto; margin-right:auto; width: 400px; width: 370px; }
#content-end { margin-left:auto; margin-right:auto; width: 400px; width: 370px; }
两列
单行两列
#bodycenter { width: 700px;margin-right: auto; margin-left: auto;overflow: auto; }
#bodycenter #dv1 {float: left;width: 280px;}
#bodycenter #dv2 {float: right;width: 410px;}
两行两列
#header{ width: 700px; margin-right: auto;margin-left: auto; overflow: auto;}
#bodycenter { width: 700px; margin-right: auto; margin-left: auto; overflow: auto; }
#bodycenter #dv1 { float: left; width: 280px;}
#bodycenter #dv2 { float: right;width: 410px;}
三行两列
#header{ width: 700px;margin-right: auto; margin-left: auto; }
#bodycenter {width: 700px; margin-right: auto; margin-left: auto; }
#bodycenter #dv1 { float: left;width: 280px;}
#bodycenter #dv2 { float: right; width: 410px;}
#footer{ width: 700px; margin-right: auto; margin-left: auto; overflow: auto; }
三列
单行三列
绝对定位
#left { position: absolute; top: 0px; left: 0px; width: 120px; }
#middle {margin: 20px 190px 20px 190px; }
#right {position: absolute;top: 0px; right: 0px; width: 120px;}
float定位
xhtml:
<div id="warp">
<div id="column">
<div id="column1">这里是第一列</div>
<div id="column2">这里是第二列</div>
<div class="clear"></div>
</div>
<div id="column3">这里是第三列</div>
<div class="clear"></div>
</div>
CSS:
#wrap{ width:100%; height:auto;}
#column{ float:left; width:60%;}
#column1{ float:left; width:30%;}
#column2{ float:right; width:30%;}
#column3{ float:right; width:40%;}
.clear{ clear:both;}
float定位二
xhtml:
<div id="center" class="column">
<h1>This is the main content.</h1>
</div>
<div id="left" class="column">
<h2>This is the left sidebar.</h2>
</div>
<div id="right" class="column">
<h2>This is the right sidebar.</h2>
</div>
CSS:
body {margin: 0;padding-left: 200px;padding-right: 190px;min-width: 240px;}
.column {position: relative;float: left;}
#center {width: 100%;}
#left {width: 180px; right: 240px;margin-left: -100%;}
#right {width: 130px;margin-right: -100%;}
两行三列
xhtml:
<div id="header">这里是顶行</div>
<div id="warp">
<div id="column">
<div id="column1">这里是第一列</div>
<div id="column2">这里是第二列</div>
<div class="clear"></div>
</div>
<div id="column3">这里是第三列</div>
<div class="clear"></div>
</div>
CSS:
#header{width:100%; height:auto;}
#wrap{ width:100%; height:auto;}
#column{ float:left; width:60%;}
#column1{ float:left; width:30%;}
#column2{ float:right; width:30%;}
#column3{ float:right; width:40%;}
.clear{ clear:both;}
三行三列
xhtml:
<div id="header">这里是顶行</div>
<div id="warp">
<div id="column">
<div id="column1">这里是第一列</div>
<div id="column2">这里是第二列</div>
<div class="clear"></div>
</div>
<div id="column3">这里是第三列</div>
<div class="clear"></div>
</div>
<div id="footer">这里是底部一行</div>
CSS:
#header{width:100%; height:auto;}
#wrap{ width:100%; height:auto;}
#column{ float:left; width:60%;}
#column1{ float:left; width:30%;}
#column2{ float:right; width:30%;}
#column3{ float:right; width:40%;}
.clear{ clear:both;}
#footer{width:100%; height:auto;}
PS:这里列出的是常用的例子,而非研究之用,对一每个盒子,我都没有设置margin,padding,boeder等属性,是因为我个人觉得,含有宽度定位的时候,最好不好用到他们,除非必不得已,因为如果不是这样的话,解决浏览器兼容问题,会让你头疼,而且产生一系列CSS代码,我觉得这样的效率和效果都不好!
3.CSS布局高级技巧
margin和padding总是有可能要用到,而产生的问题如何解决呢?由于浏览器解释容器宽度的方法不同:
IE 6.0 Firefox Opera等是
真实宽度=width+padding+border+margin
IE5.X
真实宽度=width-padding-border-margin
很明显,第一种下很完美的布局在第二种情况下后果是很凄惨的!
解决的方法是 hack
div.content {
width:400px; //这个是错误的width,所有浏览器都读到了
voice-family: "/"}/""; //IE5.X/win忽略了"/"}/""后的内容
voice-family:inherit;
width:300px; //包括IE6/win在内的部分浏览器读到这句,新的数值(300px)覆盖掉了旧的
}
html>body .content { //html>body是CSS2的写法
width:300px; //支持CSS2该写法的浏览器(非IE5)有幸读到了这一句
}
div.content {
width:300px !important; //这个是正确的width,大部分支持!important标记的浏览器使用这里的数值
width(空格)/**/:400px; //IE6/win不解析这句,所以IE6/win仍然认为width的值是300px;而IE5.X/win读到这句,新的数值(400px)覆盖掉了旧的,因为!important标记对他们不起作用
}
html>body .content { //html>body是CSS2的写法
width:300px; //支持CSS2该写法的浏览器有幸读到了这一句
}
具体解释点击下面链接查看
www.blueidea.com/tech/site/2006/3170.asp
www.jluvip.com/blog/article.asp?id=114
列等高技巧
n行n列布局,每列高度(事先并不能确定哪列的高度)的相同,是每个设计师追求的目标,做法有:背景图填充、加JS脚本的
方法和容器溢出部分隐藏和列的负底边界和正的内补丁相结合的方法。
背景图填充法:
xhtml:
<div id="wrap">
<div id="column1">这是第一列</div>
<div id="column1">这是第二列</div>
<div class="clear"></div>
</div>
css:
#wrap{ width:776px; background:url(bg.gif) repeat-y 300px;}
#column1{ float:left; width:300px;}
#column2{ float:right; width:476px;}
.clear{ clear:both;}
就是将一个npx宽的一张图片在外部容器纵向重复,定位到两列交错的位置纵向重复,在视觉上产生了两列高度一样的错觉
JS脚本法:
www.blueidea.com/bbs/NewsDetail.asp?id=2453983
代码的原理基本就是这样,读取高度,判断高度,高度相等。
容器溢出部分隐藏和列的负底边界和正的内补丁相结合的方法
这篇文章说的很详细了:
www.blueidea.com/tech/web/2006/3210.asp
还有:
www.jluvip.com/blog/article.asp?id=151
满屏高度布局(最窄770px最宽1024px经典布局)
www.blueidea.com/tech/web/2005/3124.asp
今天和一个网友两天,他提到:给一个外国公司做网站,要求1.800x600满屏。2.1024x767满屏。3.1280下居中。4.不许用JS。
我突然想起了这篇文章,哈哈!把它感觉不可思议的事情解决了!但是好像对于IE5有点问题啊!
参考资料:http://bbs.blueidea.com/viewthread.php?tid=2506047
=======================================================================
http://www.aflyfox.com/web20.html 看吧
这是DIV+CSS从最基本到实例的,全代码的。
参考资料:http://www.aflyfox.com/web20.html
DIV CSS布局实例:用css网站布局之十步实录!(目录) 0 | 3762
CSS实例教程:UL制作CSS横向菜单蓝绿色调 0 | 109
CSS实例教程:用列表ul制作CSS横向菜单的基础知识 0 | 65
CSS Form Example:带有小图标的清爽CSS表单设计! 0 | 245
三列自由式布局 770-1024自适应宽度! 0 | 186
实现三列布局相同高度的解决办法 0 | 127
用CSS打造评分星级效果的一个实例 0 | 235
如何用CSS实现翻页效果? 0 | 280
CSS布局中常用的CSS图像置换、图片替代的方法举例 0 | 248
DOV+CSS表单:超炫的单选框与复选框效果! - Adam's 0 | 481
CSS表格样式:CSS+JS打造可伸缩的表格 2 | 459
用背景图片实现CSS柱状图表一例 0 | 286
CSS滑动式条状图表如何实现? 2 | 411
CSS基本条状图表的实现方法是什么? 0 | 288
CSS菜单:由CSS滑动门技术实现的菜单十一款 0 | 710
CSS菜单:一个图片构建菜单的三种状态一例! 0 | 466
CSS菜单:基本横向菜单 效果超炫 0 | 945
CSS折叠菜单一例:可自由伸缩折叠 2 | 710
CSS布局欣赏:淘宝首页布局效果 0 | 740
CSS导航菜单:仿淘宝首页导航条布局效果 0 | 644
DIV+CSS布局入门示例(五)border和clear 0 | 835
DIV+CSS布局入门示例(四)页面顶部 列表<li>制作菜单 3 | 850
DIV+CSS布局入门示例(三)页面顶部制作 3 | 883
DIV+CSS布局入门示例(二)写入整体层结构与CSS 0 | 1013
DIV+CSS布局入门示例(一)页面布局与规划 0 | 1100
css圆角之有序列表dl、无序列表ul如何实现? 0 | 492
一个无序列表UL 鼠标激活显示背景色的实例 0 | 437
用“ul+li”及css制作韩国风格菜单 0 | 887
使用fieldset、label标签制作form表单 0 | 553
图片边框变换 CSS Hover状态效果一例 0 | 838
css背景渐变的技巧与方法 2 | 932
参考资料:
百度空间CSS代码大讲堂: http://hi.baidu.com/chjppz/blog/item/a438609039d88a8da877a472.html
空间主体的背景及文章的背景: http://hi.baidu.com/chjppz/blog/item/177fd81fb4c19563f724e466.html
如何看别人的CSS模块代码: http://hi.baidu.com/chjppz/blog/item/3826bfcaa990a387c91768f6.html
专栏分割线的CSS代码修改方法: http://hi.baidu.com/chjppz/blog/item/ad47e08057c8f5d79023d94e.html
让自己的空间下雨: http://hi.baidu.com/chjppz/blog/item/af28b91398d2cb816538db82.html
CSS分割线素材1: http://hi.baidu.com/chjppz/blog/item/af28b91398d2cb816538db82.html
CSS分割线素材2: http://hi.baidu.com/chjppz/blog/item/334aa1d464de7901a18bb799.html
标题栏背景图片素材: http://hi.baidu.com/chjppz/blog/item/8c1abddd94d257345982ddb4.html
CCTV的110首MTV(添加到音乐): http://hi.baidu.com/chjppz/blog/item/6ec9a802e0725d0f4afb5173.html
这是我从网上搜集来的部分资料
你看看能帮到你吗