美文网首页
2.1-清浮动

2.1-清浮动

作者: cirgh | 来源:发表于2018-08-07 09:46 被阅读0次

现象:

image.png
<div class="outer">
    <div class="div1">1</div>
    <div class="div2">2</div>
    <div class="div3">3</div>
</div>

.outer{border: 1px solid #ccc;background: #fc9;color: #fff; margin: 50px auto;padding: 50px;}
.div1{width: 80px;height: 80px;background: red;float: left;}
.div2{width: 80px;height: 80px;background: blue;float: left;}
.div3{width: 80px;height: 80px;background: sienna;float: left;}

方法

1. 添加新的元素 ,应用 clear:both;

在浮动元素后使用一个空元素如<div class="clear"></div>,并在CSS中赋予.clear{clear:both;}属性即可清理浮动。亦可使用<br class="clear" />或<hr class="clear" />来进行清理。

<div class="outer">
    <div class="div1">1</div>
    <div class="div2">2</div>
    <div class="div3">3</div>
    <div class="clear"></div>
</div>

.clear{
clear:both; 
height: 0; 
line-height: 0; 
font-size: 0}
2. 父级div定义 overflow: auto(BFC)
<div class="outer over-flow"> //这里添加了一个class
    <div class="div1">1</div>
    <div class="div2">2</div>
    <div class="div3">3</div>
    <!--<div class="clear"></div>-->
</div>

.over-flow{
    overflow: auto; zoom: 1; //zoom: 1; 是在处理兼容性问题
}

除overflow之外,父元素float也可以,但是影响布局,不推荐使用。

3. :after(类似于1,但不需要增加标签)
.outer {zoom:1;}    /*==for IE6/7 Maxthon2==*/
 .outer :after {
clear:both;
content:'.';
display:block;
width: 0;
height: 0;
visibility:hidden;}/*==for FF/chrome/opera/IE8==*/
4. 使用邻接元素处理

什么都不做,给浮动元素后面的元素添加clear属性。

总结

清除浮动的方法可以分成两类:
一是利用 clear 属性,包括在浮动元素末尾添加一个带有 clear: both 属性的空 div 来闭合元素,其实利用 :after 伪元素的方法也是在元素末尾添加一个内容为一个点并带有 clear: both 属性的元素实现的。

二是触发浮动元素父元素的 BFC (Block Formatting Contexts, 块级格式化上下文),使到该父元素可以包含浮动元素,关于这一点。

相关文章

  • 2.1-清浮动

    现象: 方法 1. 添加新的元素 ,应用 clear:both; 在浮动元素后使用一个空元素如 ,并在CSS中赋...

  • 清浮动

    1、父元素设置overflow:hidden;或者overflow:auto; 缺点:子元素有超出部分会自动隐藏 ...

  • 清浮动

    1.给父级也加浮动(页面中所有的元素都加浮动,margin左右会自动失效) 2.给父级加display:inlin...

  • 清浮动时的细节问题

    我们都知道设置浮动之后,要清浮动.但具体怎么清浮动呢. 我们在项目中最常用的清浮动的方法是给父级添加伪类.现在我们...

  • HTML清浮动

    在项目实现中,经常会用到float属性,但float会导致元素不再属于HTML文档流,盒子的高度也不在从元素中计算...

  • 清浮动(overflow)

    A+B A:display: block; float: left; B: overflow: auto; 1.很...

  • CSS清浮动

    关键词:清浮动 原因浮动是因为使用float:left或float:right,使元素脱离了文档流而产生的浮动。 ...

  • css清浮动

    一、浮动产生原因 一般浮动是什么情况呢?一般是一个盒子里使用了CSS float[http://www.divcs...

  • 导航条;清除浮动;开班信息

    清除浮动 属性:clear:清除对自己有影响的浮动 可选值 clear:both ----取最大 清除浮动大的(清...

  • 7、浮动样式与BFC常见方法

    display:inline-block; // 内联块 float:浮动 BFC:就是清浮动,用来处理元素脱离...

网友评论

      本文标题:2.1-清浮动

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