CSS 清浮动详解

什么是浮动?

使元素脱离文档流,按照指定方向发生移动,遇到父级边界或者相邻的元素停下来。(脱离文档流:此时浮动元素在文档中不占位置,飘了起来)

浮动的特征

1.块元素在一行显示
2.内联元素支持宽高
3.默认内容撑开宽度
4.脱离文档流
5.提升层级半层(只能够放元素本身,这个元素里的内容会被挤出来)
6.父元素的高度无法被撑开,影响与父元素同级的元素
7.与浮动元素同级的非浮动元素(内联元素)会跟随其后
8.若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构

清除浮动的方法

after 伪类清浮动(主流方法)给浮动元素的父级添加
.clear{*zoom:1}
.clear:after{content:'';display:block;clear:both;}
overflow:hidden/auto 清除浮动 给父级元素添加

问题:需要配合宽度或者 zoom:1 兼容 IE6

给父级元素加高

问题:扩展性不好

父级浮动

问题:页面中所有的元素都加浮动,margin 左右自动失效

给父级加 inline-block

问题:margin 左右都失效

空标签请浮动
//在浮动元素下添加
<div class="clear"></div>

//然后设置样式为
.clear{height:0;font-size:0;clear:both;}

问题:在 IE6 下高度小于 19px 的元素,会被当做 19px 来处理,可以使用 font-size:0; 来解决,但是只能处理最小 2px 的高度,再小就处理不了了。

br 清浮动
//在浮动元素下加
<br clear="all"/>

问题:不符合工作中结构、行为、样式分离的要求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值