美文网首页饥人谷技术博客
CSS清除浮动的三种方法

CSS清除浮动的三种方法

作者: 流光号船长 | 来源:发表于2017-03-22 19:48 被阅读0次

先上一个简单的例子

简单的例子
如图所示,图片被添加了float:left属性,实现了文字环绕效果.但是再给div加了border之后,我们发现图片并没有被包起来,也就是图片浮上来了一层,那么怎么解决这种情况,包住图片呢?

下面将介绍三种清除浮动的方法.

跟着试一试?

1. 给空div加clear

在div元素的最后,加一个空div,并且加上clear属性,和绿色border(border大法好!).
<div style="clear: left; border: 4px solid green"></div>

空div

我们发现绿色的空div把红色div的下边压到了图片以下,达到了我们清除浮动的效果.
clear: left在这里的意思是:有此样式的元素盒的左边不可以有浮动的元素.
clear元素不明白点这里

2. 使用伪类

和第一种方法的原理是一样的,只不过这次不需要每次清除浮动的时候都写一遍代码.
用伪类声明一个css属性,需要清除浮动的元素,加上就可以实现了,绿色环保.
在css中写入

  .clearfix::after{
    content:'';
    border: 4px solid green;
    clear: both;
    display: block;
  }

然后在最外层div上加上clearfix类就可以实现了

伪类实现

3.overflow: hidden清除浮动

给父元素加上overflow: hidden属性.

overflow: hidden

overflow: hidden 的意思是超出的部分要裁切隐藏掉,那么为什么会有清除浮动的效果呢?因为父元素没有声明高度,所以要把父元素中所有的元素高度计算出来,才能根据所计算的高度,超出高度的将被裁掉.
我们试试给父元素加一个100px的高度:

图片就被剪裁了
所以此方法是有适用范围的,父元素的高度必须是auto,否则将不生效!

相关文章

  • css清除浮动的三种方法

    摘要:css清除浮动float的三种方法总结,为什么要清除浮动?浮动会有哪些影响? 一.先看现象(display:...

  • 1-浮动

    css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响? http://blog.csdn.net...

  • 浅谈CSS关于清除浮动的三种方法

    浅谈CSS关于清除浮动的三种方法 CSS中,因为布局需要,我们常常希望出现一些浮动布局,比如图文环绕。这些浮动布局...

  • 前端面试积累2-清除浮动

    1.清除浮动的方法 方法一:对父级设置适合的CSS高度(不推荐) 方法二:clear:both 清除浮动 (常用)...

  • css3复习

    清除浮动: 方法:clear清除浮动(添加空div法)在浮动元素下方添加空div,并给该元素写css样式: ...

  • clearfix清除浮动

    精通CSS(第二版): bootstrap中清除浮动的方法:

  • CSS浮动续

    CSS清除浮动案例 CSS版心居中显示案例 清除浮动的四种用法: 1. 使用空标记清除浮动,隔墙法,增加标签 2....

  • 清除浮动

    一、清除浮动 or 闭合浮动 ? 清除浮动:清除对应的单词是 clear,对应CSS中的属性是 clear:lef...

  • CSS clear both清除浮动

    原文地址:CSS clear both清除浮动 DIV+CSS clear both清除产生浮动我们知道有时使用了...

  • CSS垂直居中的11种实现方式

    转载自:CSS垂直居中的11种实现方式还有篇清除浮动的文章:css清除浮动大全共8种方法 本人前端小白,正在做一个...

网友评论

    本文标题:CSS清除浮动的三种方法

    本文链接:https://www.haomeiwen.com/subject/fooonttx.html