美文网首页CSS小技巧视觉艺术
CSS 为什么要清除浮动与以及清除浮动的应用场景(clear:

CSS 为什么要清除浮动与以及清除浮动的应用场景(clear:

作者: CoderZb | 来源:发表于2019-11-24 16:47 被阅读0次

为什么清除浮动?:多少情况下,父盒子A是不方便给固定高度的(因为里面的子盒子a1和子盒子a2的内容是动态的,所以自动会把父盒子A撑开,因此不需要给定高度)。而子盒子a1子盒子a2设置浮动后,子盒子就不占原文档流的位置,就会造成父盒子A高度为0,就影响了下面的标准流盒子(A的兄弟,为B)的布局。
清除浮动的应用场景?:父盒子没有设定高度并且父盒子里面的子盒子设置了浮动(有嵌套关系也是一种前提哦),这种情况下,如果影响了下面的 相邻的 兄弟盒子的布局,此时要对父盒子设置清除浮动。(注意:如果浮动的盒子C和未浮动的盒子D处于同级,那么C、D最好都设置浮动或者都不设置浮动,否则你是纯属给自己找麻烦玩。因为应用场景是前面那段话(未设定高度+有嵌套关系+嵌套的子盒子设置了浮动))
清除浮动的代码写在哪个标签上?:如果先从B盒子开始布局错乱,就向上寻找和B盒子相邻且同级的A盒子,只需对A盒子增加一个伪类,然后将清除浮动的代码写在这个伪类中。
清除浮动的代码如下:

.clearBoth:after {
      content: ""; 
      display: block; 
      height: 0; 
      clear: both; 
      visibility: hidden;
}   
.clearBoth {
  *zoom: 1;
}

标准文档流与清除浮动与的显示效果区别:

image.png

标准文档流写法:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>清除浮动与浮动应用场景</title>
    <meta name="description" content="清除浮动与浮动应用场景" />
    <meta name="Keywords" content="清除浮动与浮动应用场景" />

</head>
<style type="text/css">
    /*清除浏览器默认间距 */
    * {
        margin: 0;
        padding: 0;
        text-align: center;
    }
    .A {
        background-color: #4b88cb;
        width: 838px;
    }
   .a1 {
        background-color: #fdb409;
        width: 245px;
        height: 245px;
   }
   .a2 {
        background-color: #e66826;
        width: 245px;
        height: 245px;
   }
   .B {
    background-color: #949494;
    width: 760px;
    height: 146px;
   }
</style>
<body>
    <div class="A ">
        <div class="a1">a1</div>
        <div class="a2">a2</div>
    </div>
    <div class="B">B</div>
   
</body>
</html>
  • 标准文档流的效果截图


    image.png

浮动写法(没有清除浮动):

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>清除浮动与浮动应用场景</title>
    <meta name="description" content="清除浮动与浮动应用场景" />
    <meta name="Keywords" content="清除浮动与浮动应用场景" />

</head>
<style type="text/css">
    /*清除浏览器默认间距 */
    * {
        margin: 0;
        padding: 0;
        text-align: center;
    }
    .A {
        background-color: #4b88cb;
        width: 838px;
    }
   .a1 {
        float: left;
        background-color: #fdb409;
        width: 245px;
        height: 245px;
   }
   .a2 {
        float: left;
        background-color: #e66826;
        width: 245px;
        height: 245px;
   }
   .B {
        background-color: #949494;
        width: 760px;
        height: 146px;
   }
</style>
<body>
    <div class="A">
        <div class="a1">a1</div>
        <div class="a2">a2</div>
    </div>
    <div class="B">B</div>
</body>
</html>

  • 没有清除浮动的效果截图


    image.png

浮动写法(清除浮动的写法):

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>清除浮动与浮动应用场景</title>
    <meta name="description" content="清除浮动与浮动应用场景" />
    <meta name="Keywords" content="清除浮动与浮动应用场景" />

</head>
<style type="text/css">
    /*清除浏览器默认间距 */
    * {
        margin: 0;
        padding: 0;
        text-align: center;
    }
    .A {
        background-color: #4b88cb;
        width: 838px;
    }
   .a1 {
        float: left;
        background-color: #fdb409;
        width: 245px;
        height: 245px;
   }
   .a2 {
        float: left;
        background-color: #e66826;
        width: 245px;
        height: 245px;
   }
   .B {
        background-color: #949494;
        width: 760px;
        height: 146px;
   }
   .clearBoth:after {
        content: ""; 
        display: block; 
        height: 0; 
        clear: both; 
        visibility: hidden;
    }   
    .clearBoth {
        *zoom: 1;
    }
</style>
<body>
    <div class="A clearBoth">
        <div class="a1">a1</div>
        <div class="a2">a2</div>
    </div>
    <div class="B">B</div>
   
</body>
</html>
  • 清除浮动的效果截图


    image.png

相关文章

  • 清除浮动

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

  • CSS clear both清除浮动

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

  • 11.22 前端学习

    清除浮动 clear:left清除左浮动clear:right清除右浮动clear:both清除对它影响最大的浮动...

  • 前端06

    清除浮动 clear:left清除左浮动clear:right清除右浮动clear:both清除对它影响最大的浮动...

  • 06 前端学习

    清除浮动 clear:left清除左浮动clear:right清除右浮动clear:both清除对它影响最大的浮动...

  • CSS 为什么要清除浮动与以及清除浮动的应用场景(clear:

    为什么清除浮动?:多少情况下,父盒子A是不方便给固定高度的(因为里面的子盒子a1和子盒子a2的内容是动态的,所以自...

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

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

  • css3复习

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

  • 一篇文章带你了解CSS clear both清除浮动

    一、前言 CSS clear both清除产生浮动 ,使用了css float浮动会产生css浮动,这个时候就需要...

  • Test10

    引用文章: 那些年我们一起清除过的浮动 CSS浮动float详解 Clear Float CSS float浮动的...

网友评论

    本文标题:CSS 为什么要清除浮动与以及清除浮动的应用场景(clear:

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