博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
css清除浮动float的七种常用方法总结
阅读量:5756 次
发布时间:2019-06-18

本文共 1412 字,大约阅读时间需要 4 分钟。

在清除浮动前我们要了解两个重要的定义:

浮动的定义:使元素脱离文档流,按照指定方向发生移动,遇到父级边界或者相邻的浮动元素停了下来。
高度塌陷:浮动元素父元素高度自适应(父元素不写高度时,子元素写了浮动后,父元素会发生高度塌陷)

  • 知道浮动和为什么要清除浮动之后我们可以开始学习如何清除浮动了,这时候我们就需要用到清除浮动的属性clear.
  • clear:left | right | both | none | inherit:元素的某个方向上不能有浮动元素
  • clear:both:在左右两侧均不允许浮动元素。

具体清楚浮动的方法主要一下几种:

1、clear清除浮动(添加空div法)

在浮动元素下方添加空div,并给该元素写css样式:{    clear:both;    height:0;    overflow:hidden;}复制代码

2、方法:给浮动元素父级设置高度

我们知道了高度塌陷是应为给浮动元素的父级高度是自适应导致的,那么我们给它的设置适当的高度就可以解决这个问题。缺点:在浮动元素高度不确定的时候不适用复制代码

3、方法:以浮制浮(父级同时浮动)

何谓“以浮制浮”呢?就是**让浮动元素的父级也浮动**。缺点:需要给每个浮动元素父级添加浮动,浮动多了容易出现问题。复制代码

4、方法:父级设置成inline-block

缺点:父级的margin左右auto失效,无法使用margin: 0 auto;居中了复制代码

5、 br 清浮动


复制代码
br 标签自带clear属性,将它设置成both其实和添加空div原理是一样的。 问题:不符合工作中:结构、样式、行为,三者分离的要求。

6、给父级添加overflow:hidden 清浮动方法

问题:需要配合 宽度 或者 zoom 兼容IE6 IE7;overflow: hidden;*zoom: 1;复制代码

7、万能清除法 after伪类 清浮动(现在主流方法,推荐使用)

选择符:after{            content:".";            clear:both;            display:block;            height:0;            overflow:hidden;            visibility:hidden;              }复制代码

同时为了兼容 IE6,7 同样需要配合zoom使用例如:

.clear:after{            content:'';            display:block;            clear:both;            height:0;            overflow:hidden;            visibility:hidden;            }.clear{        zoom:1;      }复制代码

需要注意的东西:

after伪类: 元素内部末尾添加内容;    :after{content"添加的内容";} IE6,7下不兼容zoom 缩放     a、触发 IE下 haslayout,使元素根据自身内容计算宽高。    b、FF(Firefox) 不支持;复制代码

转载地址:http://wynkx.baihongyu.com/

你可能感兴趣的文章
Jquery 扩展方法
查看>>
.Net安装SQLite
查看>>
数据结构中的各种排序方法-JS实现
查看>>
Apache 的 httpd.conf 详解
查看>>
评黑书《算法艺术与信息学竞赛》
查看>>
myeclipse9.0安装svn
查看>>
Google 亚马逊水域和波兰街景上线
查看>>
validationGroup和Page_ClientValidate()
查看>>
jotm的xml
查看>>
Android应用开发提高系列(6)——Activity生命周期
查看>>
28个非常酷的登录和注册表单设计创意
查看>>
学习:重写hashCode()方法的必要性
查看>>
设置和读取Cookie
查看>>
robots
查看>>
Linux线程同步-条件变量
查看>>
JS无间隙滚动向左、向右、向上、向下兼容IE,firefox
查看>>
paip.最好的脚本语言node js 环境搭建连接mysql
查看>>
十一:Java之GUI图形Awt和Swing
查看>>
杭电 HDU ACM 1698 Just a Hook(线段树 区间更新 延迟标记)
查看>>
SQL Server中TOP子句可能导致的问题以及解决办法
查看>>