CSS入门中,下面一个案例为什么要用“伪元素法”清除浮动?

CSS入门中,下面一个案例为什么要用“伪元素法”清除浮动?

<section class="w">

    <header class="h">header</header>

    <nav class="h">nav</nav>

    <section class="clearfix">

        <aside>aside</aside>

        <article>article</article>

    </section>

    <footer class="h">footer</footer>

</section>

.w {

    margin: 0 auto;

    width: 1200px;

}

.h {

    height: 60px;

    line-height: 60px;

}

.clearfix:after {

    content:"";

    display: block;

    height: 0;

    clear: both;

    visibility:hidden;

}


/* 并集选择器,统一设置 */

header,nav,aside,article,footer {

    background-color: orange;

    margin: 10px;

    text-align: center;

    border-radius: 3px;

    font-size: 20px;

    font-weight: 700;

    color: #333;

}

aside {

    float: left;

    width: 200px;

    height: 600px;

}

article {

    float: left;

    width: 960px;

    height: 600px;

}

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,清除浮动有多种方式,同学使用那种都可以。而伪元素方法是比较常用的,所以此时使用该方法。

祝学习愉快!

  • 童真模式启动 提问者 #1
    为什么这里不清除浮动,footer就跑到nav下面了呢?


    2021-10-21 11:56:22
  • 同学你好,因为代码中为<aside></aside>、<article></article>增加了浮动,所以未清除浮动时,footer会在nav的下面显示。

    https://img1.sycdn.imooc.com//climg/6171338509c577fb04920798.jpg

    另外同学可回顾复习一下:四种方法清除浮动 中的第三种清除浮动的方式,使用after伪元素法,在视频课程的4分01秒处。 

    未清除浮动的效果:

    https://img1.sycdn.imooc.com//climg/61713502096b031a06920357.jpg

    清除浮动后的效果图如下:

    https://img1.sycdn.imooc.com//climg/617135460933a7b909710547.jpg

    这里老师简单帮助同学回顾复习下,代码具体的书写可参考源码或课程视频。

    清除浮动的四种方式:

    1)额外标签法

    https://img1.sycdn.imooc.com//climg/6171353409583bde04400463.jpg

    2)父元素添加overflow法

    https://img1.sycdn.imooc.com//climg/6171360409cc8db604260422.jpg

    3)after伪元素法

    https://img1.sycdn.imooc.com//climg/617136b609092d3d04350454.jpg

    4)双伪元素法

    https://img1.sycdn.imooc.com//climg/617137d00979445d04740560.jpg

    祝学习愉快~

    2021-10-21 17:51:13
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师