浮动与清除浮动

float

在 CSS 中,任何元素都可以浮动。

浮动元素会生成一个块级框,而不论它本身是何种元素。

关于浮动的两个特点:

  • 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。

  • 由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。

三种取值
left:向左浮动

right:向右浮动

none:默认值,不浮动
参考案例

clear
clear属性规定元素的哪一侧不允许其他浮动元素。

描述
left在左侧不允许浮动元素。
right在右侧不允许浮动元素。
both在左右两侧均不允许浮动元素。
none默认值。允许浮动元素出现在两侧。
inherit规定应该从父元素继承 clear 属性的值。

注意:clear属性只会对自身起作用,而不会影响其他元素。

清除浮动
清除浮动的副作用(父标签塌陷问题)

主要有三种方式:

  • 固定高度
  • 伪元素清除法
  • overflow:hidden

伪元素清除法(使用较多):

.clearfix:after{/*伪元素是行内元素 正常浏览器清除浮动方法*/
content: "";
display: block;
height: 0;
clear:both;
visibility: hidden;
}
.clearfix{
*zoom: 1;/*ie6清除浮动的方式 *号只有IE6-IE7执行,其他浏览器不执行*/

<body>
<div class="fahter clearfix">
<div class="big">big</div>
<div class="small">small</div>
<!--<div class="clear">额外标签法</div>-->
</div>
<div class="footer"></div>
</body>
}

优点:符合闭合浮动思想,结构语义化正确

缺点:ie6-7不支持伪元素:after,使用zoom:1触发hasLayout.

推荐使用

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个包含CSS3新增的盒子相关属性、盒子类型及类型转换、外边距、浮动清除浮动、定位相关的属性的网页代码: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>CSS3盒子模型</title> <style> /* 盒子相关属性 */ .box1 { width: 200px; height: 100px; border: 1px solid #ddd; box-sizing: border-box; box-shadow: 2px 2px 5px #aaa; border-radius: 10px; outline: 2px solid red; outline-offset: 10px; } /* 盒子类型及类型转换 */ .box2 { width: 100px; height: 50px; background-color: #ddd; margin: 10px; display: inline-block; } /* 外边距 */ .box3 { width: 100px; height: 50px; background-color: #ddd; margin: 10px 20px; } /* 浮动清除浮动 */ .float-left { width: 100px; height: 50px; background-color: #ddd; float: left; margin-right: 10px; } .clearfix::after { content: ""; display: block; clear: both; } /* 定位相关的属性 */ .box4 { width: 100px; height: 50px; background-color: #ddd; position: relative; top: 10px; left: 10px; } .box5 { width: 100px; height: 50px; background-color: #ddd; position: absolute; top: 10px; right: 10px; } .box6 { width: 100px; height: 50px; background-color: #ddd; position: fixed; bottom: 10px; left: 10px; } </style> </head> <body> <h1>CSS3盒子模型</h1> <h2>盒子相关属性</h2> <div class="box1"></div> <h2>盒子类型及类型转换</h2> <div class="box2"></div> <div class="box2"></div> <div class="box2"></div> <h2>外边距</h2> <div class="box3"></div> <div class="box3"></div> <div class="box3"></div> <h2>浮动清除浮动</h2> <div class="float-left"></div> <div class="float-left"></div> <div class="clearfix"></div> <h2>定位相关的属性</h2> <div class="box4"></div> <div class="box5"></div> <div class="box6"></div> </body> </html> ``` 在这个网页中,我们使用了不同的类名来区分不同的盒子,并对每个盒子设置了相应的CSS属性。你可以复制这段代码,在本地浏览器中查看效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值