美文网首页
清除浮动

清除浮动

作者: 直到世界尽头_Leo | 来源:发表于2018-04-28 17:01 被阅读0次

1. 清除元素方式一

  • 给前面一个父元素设置高度

注意点:在企业开发中,能不写高度尽量不写高度,所以这个方式不太推荐使用

2. 清除元素方式二

  • 给后面的盒子添加clear属性
    clear取值:
    none:默认取值,按照浮动元素排序规则来排序
    left:不要找前面的左浮动
    right:不要找前面的右浮动
    both:不要找前面的左浮动和右浮动

注意点:当我们给某个元素添加clear属性的之后,这个元素的margin属性会失效

3. 清除元素方式三

  • 隔墙法

外墙法:给两个盒子中间添加块级元素并设置clear:both;
注意点:
外墙法可以让第二个盒子使用margin-top属性,但是不可以让第一个盒子使用margin-bottom属性.所以使用外墙法的时候,一般会给添加的块级元素设置高度代替margin-topmargin-bottom.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>浮动问题</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .box1{
            background: red;
            /*height: 30px;*/
        }
        .box1 p{
            background: blue;
        }
        .box2{
            background: green;
            /*clear: left;*/
            margin-top: 10px;
        }
        .box2 p{
            background: yellow;
        }
        p{
            float: left;
        }
        .clearboth{
            clear: both;
        }
    </style>
</head>
<body>
    <div class="box1">
        <p>我是段落1</p>
        <p>我是段落1</p>
        <p>我是段落1</p>
    </div>
    <div class="clearboth"></div>
    <div class="box2">
        <p>我是段落2</p>
        <p>我是段落2</p>
        <p>我是段落2</p>
    </div>
</body>
</html>

内墙法

外墙法:给第一个盒子所有子元素最后添加块级元素并设置clear:both;
注意点:
内墙法可以让第二个盒子使用margin-top属性,同时也可以让第一个盒子使用margin-bottom属性,还可以给额外添加的块级元素设置高度。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>浮动问题</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .box1{
            background: red;
            /*height: 30px;*/
            /*margin-bottom: 10px;*/
        }
        .box1 p{
            background: blue;
        }
        .box2{
            background: green;
            /*clear: left;*/
            /*margin-top: 10px;*/
        }
        .box2 p{
            background: yellow;
        }
        p{
            float: left;
        }
        .clearboth{
            clear: both;
            height: 30px;
        }
    </style>
</head>
<body>
    <div class="box1">
        <p>我是段落1</p>
        <p>我是段落1</p>
        <p>我是段落1</p>
        <div class="clearboth"></div>
    </div>
    
    <div class="box2">
        <p>我是段落2</p>
        <p>我是段落2</p>
        <p>我是段落2</p>
    </div>
</body>
</html>

4. 外墙法和内墙法的区别

  • 外墙法不能撑起第一个盒子的高度,内墙法可以。

5. 企业开发中不常用隔墙法来清除浮动

相关文章

  • 11.22 前端学习

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

  • 前端06

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

  • 06 前端学习

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

  • 清除浮动

    未清除浮动前 清除浮动后

  • 技术知识点整理

    清除浮动 BFC清除浮动浮动的父级末尾插入块级元素清除浮动 BFC(Block Formatting Contex...

  • H5前端开发学习笔记——0x15清除浮动

    清除浮动 课时130 浮动元素高度问题(掌握) 课时131 清除浮动方式一(理解) 课时132 清除浮动方式二(理...

  • css清除浮动

    前端开发中浮动处处可见,本文探讨浮动的成因以及如何更加有效的清除浮动。 1、浮动与清除浮动 2、清除浮动 基本cs...

  • CSS清除浮动三种方式

    清除浮动 当父盒子没有定义高度,嵌套的盒子浮动之后,下边的元素发生位置错误。 清除浮动不是不用浮动,清除浮动产生的...

  • 布局浮动的问题

    浮动的问题 什么是浮动?浮动(float)的副作用清除浮动两种清除浮动的办法如下:

  • 清除浮动

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

网友评论

      本文标题:清除浮动

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