找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1718|回复: 0

[分享] CSS布局之浮动(二)

[复制链接]
发表于 2013-4-18 00:32:05 | 显示全部楼层 |阅读模式 来自 广东省广州市
本帖最后由 赵人无名 于 2013-4-18 00:33 编辑

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

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

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


<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;}

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

评分

参与人数 1金币 +5 收起 理由
猫性男孩 + 5 描述详细,值得鼓励

查看全部评分

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-5-20 04:41 , Processed in 0.041805 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表