php浮动布局,CSS布局之浮动(一)

本文详细介绍了CSS浮动布局中常见的两列结构,包括左侧定宽右侧自适应和右侧定宽左侧自适应的实现方式及问题解决。通过理解两列布局的浮动原理,可以轻松应对更复杂的多列布局问题。同时,文章提供了针对内容溢出和空白间隙的解决方案,帮助开发者更好地掌握CSS浮动布局技巧。
摘要由CSDN通过智能技术生成

CSS浮动一直是个比较让人郁闷的问题,很多的布局问题都出在浮动上,特别是当浮动的列数很多时,但其实只要理解了两列结构的浮动,面对多列数的浮动也不会再心慌,因为两列结构的左右浮动是最基本的浮动,也是更多浮动的基础,三列、四列等的浮动都是出于此的。

来看一下几种常见的CSS两列浮动,CSS代码见以下各分类,HTML结构代码如下:

-//W3C//DTD XHTML 1.0 Transitional//EN”

“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

http-equiv=”Content-Type” content=”text/html; charset=utf-8″

/>

CSS浮动
开始我是在左边,后面可能到右边

id=”b”>开始我是在右边,后面就可能跑到左边去

左侧定宽右侧自适应:

#a{float:left; width:200px; background:#aaa;}

#b{background:#f00;}

当需要左侧定宽而右侧自动时,则只需要设定a对象为左浮动即可,b对象默认是占整个屏幕的宽度的,但因为a为左浮动并且占了200PX的宽度,b则自动位于a后面。

当然这样会有一个问题,那就是当左侧的内容高度超过右侧时,右侧的高度并不能随之而增高,而当右侧内容高于左侧时,右侧的内容就会流到左侧内容的底下去。

解决这个问题的一个办法是,给b也设置一个浮动,当然并不是设置右浮动,如果是设置的右浮动,当右侧内容少不够一行的宽度时左右两侧中间则会出现空白:

#a{float:left; width:200px; background:#aaa;}

#b{background:#f00;

float:right;}

给b设置左浮动时,则可以解决中间出现空白的问题,但同样的道理,当b对象内容少不够一行的宽度时时,右侧就会出现空白:

#a{float:left; width:200px; background:#aaa;}

#b{background:#f00;

float:left;}

当然有另外一种两全的解决办法,即设置b对象距离左边的位置,这样即可以达到浮动的目的也可以解决b对象内容过多而流入到a对象下面的问题:

#a{float:left; width:200px; background:#aaa;}

#b{background:#f00;

margin-left:200px;}

右侧定宽左侧自适应:

与左侧定宽右侧自动一样的道理,右侧定宽左侧自动同样可以实现:

#a{background:#f00; margin-left:200px;}

#b{float:right; width:200px;

background:#aaa;}

如果按照上面的代码,那么你会发现这个代码并不能实现右浮动,b对象显示在a对象的下面,并没有如预期的那样显示成右侧定宽左而自动的效果。因为HTML结构的原因,浮动DIV应该出现在没有浮动的DIV前面,也就是说,如果是按上面的代码,那么

id=”a”>…与

…的顺序应该调换一下:
开始我是在右边,后面就可能跑到左边去

id=”a”>开始我是在左边,后面可能到右边

当然,也可以在不改动HTML结构的情况下,利用CSS样式去调整浮动顺序,这也是CSS的优点之一,即可以在不改动原HTML结构的情况下,完成对页面的修改:

#a{float:left; width:200px; background:#aaa;}

#b{background:#f00;

margin-left:200px;}

以上就是CSS布局之浮动的内容,更多相关文章请关注PHP中文网(www.php.cn)!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值