CSS笔记(12)

2022-09-20 19:28:42 浏览数 (2)

关于浮动

清除浮动的方法

  1. 额外标签法,也称隔墙法
  2. 父级添加overflow属性
  3. 父级添加after伪元素
  4. 父级添加双伪元素

额外标签法(隔墙法)

额外标签法会在浮动元素末尾添加一个空的标签,例如<div style="clear:both"></div>

优点:通俗易懂,书写方便.

缺点:添加许多无意义的标签,结构化较差.

注意:要求这个新的空标签必须是块级元素.

这个方法不太常用所以就不把例子贴上来了.

父级添加overflow

可以给父级添加overflow属性,将其属性值设置为hidden/auto/scroll.

注意:是给父元素添加代码.

优点:代码简洁

缺点:无法显示溢出的部分

代码语言:javascript复制
    <title>清除浮动</title>
    <style>
        .box {
            border:1px solid red;
            overflow:hidden;
            /* 在父级元素添加overflow属性 */
        }
        .one {
            float:left;
            height: 200px;
            width: 250px;
            background-color: rgba(148, 235, 163, 0.555);
        }
        .two {
            float: left;
            height: 250px;
            width: 100px;
            background-color: aqua;
        }
        .footer {
            height: 100px;
            background-color: blue;
        }
</style>
</head>
<body>
    <div class="box">
        <div class="one">一</div>
        <div class="two">二</div>
    </div>
    <div class="footer"></div>
</body>
</html>

效果图:

after伪元素法

after方式是额外标签法的升级版,也是给父元素添加

优点:没有增加标签,结构更简单

缺点:照顾低版本浏览器

语法:

.clearfix : after {

content:"";

display: block;

height: 0;

clear: both;

visibility: hidden;

}

.clearfix {

*zoom:1;

}

(直接复制粘贴使用,最后再给

父元素设置类名为clearfix即可)

双伪元素清除浮动

语法:

清除浮动总结:

为什么要清除浮动?

①父级没高度

②子盒子浮动了

③影响下面的布局了

清除浮动的方式

优点

缺点

额外标签法

通俗易懂,书写方便

添加许多无意义的标签,结构化较差

父级overflow:hidden

书写简单

溢出隐藏

父级after伪元素

结构语义化正确

由于IE6-7不支持:after,兼容性问题

父级双伪元素

结构语义化正确

由于IE6-7不支持:after,兼容性问题

0 人点赞