CSS布局之浮动(二)三列浮动

作者:Prower 来源:Prower 时间:2008-08-19 12:47:00 

上一个文章里写了关于左(右)侧定宽右(左)侧自动缩放的两列浮动,这个文章就要说一下三列浮动的问题了。在之前说过,两列浮动是其他多列浮动的基础,明白了两列浮动的原理后,三列或三列以上的多列浮动也变得简单。

左侧中间定宽,右侧自适应:

因边左侧跟中间都是定宽的,只有右侧是自适应宽度的,所以这个三列浮动是和两列浮动中的左侧定宽右侧自适应一样的道理,HTML结构代码如下:


<!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>CSS浮动</title>
</head>

<body>
<div id=”a”>我是左边</div>
<div id=”b”>我是中间</div>
<div id=”c”>我是右边</div>
</body>
</html>


只需在两列浮动的CSS样式代码上再做轻微的改动:


#a{float:left; width:200px; background:#aaa;}
#b{float:left; width:200px; background:#f00;}
#c{background:#777; margin-left:400px;}

当然这里要记住一点,那就是必须给b对象一个左浮动。

左侧自适应,中间右侧定宽:

与左侧中间定宽右侧自适应一样的道理,当然前提是要把a、b、c三个对象在HTML的结构代码上更换一下顺序,浏览器的解释顺序应该是c-b-a,因为浮动在未浮动之前:


<body>
<div id=”c”>我是左边</div>
<div id=”b”>我是中间</div>
<div id=”a”>我是右边</div>
</body>

CSS代码如下:


#a{background:#aaa;}
#b{float:right; width:200px; background:#f00;}
#c{float:right; width:200px; background:#777;}

左右两侧定宽,中间自适应:

这个布局应该是用得最多的,因为两边侧边栏的定宽,然后中间内容区自适应,这是很多网站常用的布局方式。很多人会在这里使用四个DIV来完成布局,即:


<body>
<div id=”a”>我是左边</div>
<div id=”box”>
<div id=”b”>我是中间</div>
<div id=”c”>我是右边</div>
</div>
</body>

通过一个嵌套的DIV来帮助完成三列浮动,这样的确是可以完成浮动布局的目的,但是不用这个嵌套仍然可以完成三列浮动的目的,既然可以省略一个嵌套,那为什么不省略一个呢?仅仅只需改变b跟c两者的顺序即可达到目的:


<body>
<div id=”a”>我是左边</div>
<div id=”c”>我是右边</div>
<div id=”b”>我是中间</div>
</body>

CSS代码如下:


#a{float:left; width:200px; background:#aaa;}
#b{margin-left:200px; margin-right:200px; background:#f00;}
#c{float:right; width:200px; background:#777;}

这样,在基于两列浮动的基础之上,三列浮动的布局也完成了。

阅读下一篇:CSS布局之浮动(三)自适应

标签:布局,浮动,css
0
投稿

猜你喜欢

  • 如何提示用户打开Cookie?

    2010-06-07 20:53:00
  • css2.1实现多重背景和边框效果

    2010-06-23 19:02:00
  • 美之鉴 – 女人与Web设计

    2009-12-09 15:36:00
  • 由浅到深了解JavaScript类

    2008-06-16 13:20:00
  • 形式追随内容?

    2010-03-07 15:55:00
  • Oracle数据库及应用程序优化开发者网络Oracle

    2010-07-18 13:02:00
  • SQL"不能为新插入的行确定标识"错误的解决方法

    2011-04-07 11:05:00
  • 使用javascript+xml技术实现分页浏览

    2008-05-29 13:49:00
  • CSS 的模块化思想

    2009-02-03 12:52:00
  • 网站防止采集方法全攻略

    2007-09-05 19:57:00
  • ASP读取Exif信息无组件实现过程

    2009-02-09 12:52:00
  • 讲解SQL Server数据库触发器的安全隐患

    2009-02-24 17:46:00
  • asp检测是否为中文字符函数

    2011-04-07 11:19:00
  • SQL Server 2005中数据库镜像的四个问题

    2009-02-19 16:48:00
  • Sql Server、Oracle以及Access数据库 判断字段是否为空的办法 (From calmzeal's code life)

    2011-02-24 19:44:00
  • Dreamweaver技巧十二招

    2009-07-05 18:53:00
  • XHTML代码的基本应用

    2007-10-26 12:32:00
  • 如何优化网站图片以快速显示

    2008-04-05 10:09:00
  • Access数据库用另一种方式管理密码

    2008-10-13 12:25:00
  • 跨浏览器实现float:center,No CSS hacks

    2008-08-22 12:59:00
  • asp之家 网络编程 m.aspxhome.com