CSS Float(浮动)

扫码查看

1.基本的浮动布局

  • 浮动布局可以让块级元素自左向右(或自右向左)的排列在同一行
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Test</title>
    </head>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        ul{
            list-style: none;
        }
        li{
            width: 100px;
            height: 100px;
            line-height: 100px;
            text-align: center;
            float: left;
        }
    </style>
    <body>
        <ul>
            <li style="background-color: blue;">1</li>
            <li style="background-color: red;">2</li>
            <li style="background-color: green;">3</li>
            <li style="background-color: pink;">4</li>
        </ul>
    </body>
</html>
  • 行内元素浮动之后可以设置宽高
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Test</title>
    </head>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        a{
            width: 100px;
            height: 100px;
            line-height: 100px;
            text-align: center;
            float: left;
            text-decoration: none;
        }
    </style>
    <body>
        <div>
            <a href="javascript:;" style="background-color: lightblue;">1</a>
            <a href="javascript:;" style="background-color: red;">2</a>
            <a href="javascript:;" style="background-color: green;">3</a>
            <a href="javascript:;" style="background-color: pink;">4</a>
        </div>
    </body>
</html>

2.浮动对父元素的影响

浮动元素无法撑开父级元素高度,导致父元素背景不能显示,边框不能撑开。需要在父元素中设置overflow: hidden

3.浮动对兄弟元素的影响

  • 浮动元素与行内元素


  • 浮动元素与块级元素

如果块级元素在浮动元素的前面,则没有什么影响,浮动元素会从下一行开始展示。

如果块级元素在浮动元素的后面,浮动元素会浮在块级元素上面,同时块级元素的文本会被挤到下一行

4.清除浮动

设置清浮动的样式

.clearfix::before,
.clearfix::after {
    content: "";
    display: block;
    height: 0;
    line-height: 0px;
    clear: both;
    visibility: hidden;
}

父元素使用这个样式可以撑开高度

<ul class="clearfix">
    ...
</ul>
01-16 03:20
查看更多