欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

浮动与清除浮动

程序员文章站 2022-07-14 22:29:41
...

float

在 CSS 中,任何元素都可以浮动。 浮动元素会生成一个块级框,而不论它本身是何种元素。
关于浮动的两个特点: 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。 由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。

**

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>浮动于清除浮动</title>
</head>
<style>
    .box {
        background-color: #eeeeee;
    }

    .item1,
    .item2 {
        width: 200px;
        height: 200px;
        /* float设置元素浮动  left左浮动 right右浮动 */
        /* 元素设置浮动后会脱离正常的文档流 将不再参与流式布局,紧跟其后的元素就会占据其原有的位置*/
        float: right;
        /* 注意:只要用到了浮动,就一定要清除浮动 */
    }

    .item1 {
        background: tomato;
    }

    .item2 {
        background: blue;
    }

    .other {
        width: 500px;
        height: 500px;
        background-color: yellow;
    }

    /* 清理浮动第一张方式: */
    /* .clear { */
    /* 通过清理浮动让父元素自动获取高度 */
    /* 优点:代码少,好理解 */
    /* 缺点:增加了多余的空标签 */
    /* clear: both; */

    /* } */

    /* 清除浮动第二种 */
    /* 优点:之间明了,比较之间 */
    /* 缺点,父元素高度固定,如果浮动元素高度不一致,会影响画面的布局 */

    /* 推荐在导航栏使用*/
    .box {
        height: 200px;
    }

    /* 清除浮动的第三种方式 */
    /* 优点:几乎没有缺点,是比较常用的一种清理浮动的方式 */
    /* 代码量多,难记 */
    .box::after {
        content: "";
        /* 块元素  */
        display: block;
        height: 0px;
        /* 元素不可见 */
        visibility: hidden;
        clear: both;
    }

    .box {
        /* 缩放 */
        zoom: 1;
    }
</style>

<body>
    <div class="box">
        <div class="item1">111</div>
        <div class="item2">222</div>
        <!-- <div class="clear"></div> -->
    </div>
    <div class="other"></div>

</body>

</html>
相关标签: 浮动