CSSer课堂

我们是师徒六人组,以Design, CSS, JS, web标准化为爱好。


简单常用的CSS+DIV布局(2)

上一篇讲了《简单常用的CSS+DIV布局(1) 》,主要以1-2-1布局为例切入学习div+css制作页面的一个优点。这篇在上篇的基础上做一个延伸——1-3-1布局,也就是常见的3栏布局结构。
先看个Demo的例子:

提示:你可以先修改部分代码再运行。

页头,页脚分别使用的是自动适应屏幕的宽度;内容部分使用百分比(其实定宽后,100%几乎与px一个效果)。

需要注意的一点,我再div.warp里面多添加了一个div.main,而div.main的属性为:
.main{
float:left;
text-align:left;
width:100%;
}

如上设置之后,可以避免float属性后引发的haslayout问题。回避了问题,相应的减少css中的hack书写。

下面的例子是一个2栏3栏混排的模式:

提示:你可以先修改部分代码再运行。

P.S.:在div+css布局中,尽量减少hack才能使得页面平滑过渡

当拿到设计完成的页面后,先不要急着还原页面,先审视下整个项目所设计的页面结构,在大的结构上先了解清楚。

  1. 页头页尾是否可以共用
  2. 页面设计几栏(2栏?3栏)

大的结构定下之后,就可以对页面进行对应的切割,还原。从而“胸有成竹”!

简单常用的CSS+DIV布局(1)

对于从传统的table套嵌概念转移到基于Div代码CSS控制布局的结构来说,的确是一个难过的坎。
但其重要,也是必须要改变的一个观点是:如何用div+CSS来替换传统的table布局

一下从几个Demo来对比table与div+css布局:

传统的1-2-1布局
传统的1-2-1布局也是企业网站所使用的网页布局模式,1-2-1是一个简称,其意思是,页头-【内容(侧栏+主要内容)】-页尾

如果使用传统的table,那么他的结构最简化为:

提示:你可以先修改部分代码再运行。

如果使用div+css来布局,看看我们如何做到的。

提示:你可以先修改部分代码再运行。

在这个布局中,使用了float来使得div.left与div.right分别浮动在内容的左边,右边。如果需要左侧栏位于右边,只需要修改css的属性即可满足需求。但是,例一中的table布局却不能做到这点。
见下例

提示:你可以先修改部分代码再运行。

比较如上的两个代码,会有什么收获呢?