zoukankan      html  css  js  c++  java
  • 清除浮动

    各位观众老爷们

      大家好!今天我来跟大家讲解一下关于css清除浮动问题,如有不对  欢迎评论哈

    首先,我们来谈谈浮动对页面的影响:

        如果一个父盒子中有一个子盒子,并且父盒子没有设置高,子盒子在父盒子中进行了浮动,那么将来父盒子的高度为0.由于父盒子的高度为0,

        下面的元素会自动补位,所以这个时候要进行浮动的清除。

    关于清除浮动的四种方式(强烈建议使用第三种方式哈):

    方式一:使用overflow属性来清除浮动

        .ovh{

          overflow:hidden;

         }

        先找到浮动盒子的父元素,再在父元素中添加一个属性:overflow:hidden,就是清除这个父元素中的子元素浮动对页面的影响.

        注意:一般情况下也不会使用这种方式,因为overflow:hidden有一个特点,离开了这个元素所在的区域以后会被隐藏(overflow:hidden会将超出的部分隐藏起来)

    方式二:使用额外标签法

        .clear{

          clear:both;

         }

        在浮动的盒子之下再放一个标签,在这个标签中使用clear:both,来清除浮动对页面的影响.

          a.内部标签:会将这个浮动盒子的父盒子高度重新撑开.

          b.外部标签:会将这个浮动盒子的影响清除,但是不会撑开父盒子.

        注意:一般情况下不会使用这一种方式来清除浮动。因为这种清除浮动的方式会增加页面的标签,造成结构的混乱.

    方法三:使用伪元素来清除浮动(最常用的方法,本人建议使用)

      <div class="container clearfix">

        <div class="wrap">aaa</div>

      </div>

        .clearfix:after{

          content:"";//设置内容为空

          height:0;//高度为0

          line-height:0;//行高为0

          display:block;//将文本转为块级元素

          visibility:hidden;//将元素隐藏

          clear:both//清除浮动

         }

        .clearfix{

          zoom:1;为了兼容IE

        }

    方法四:使用双伪元素清除浮动

        .clearfix:before,.clearfix:after {

                      content: "";

                      display: block;

                      clear: both;

                }

                .clearfix {

                      zoom: 1;

                }

    总结:

      第一种方法会将超出部分隐藏在某些时候我们想清除浮动并且保留超出部分时做不到,

      第二种方法会增加许多不必要的标签,

      所以我们尽量使用第三种方法来清除浮动,

      为什么不选择第四种方法呢?因为第四种是第三种的改良版虽然比较简便,但是不严谨!

  • 相关阅读:
    14.7.1 重新调整InnoDB系统表空间的大小
    css代码引入方式与基本选择器
    html常用标签
    python数据库操作
    pt-osc使用一则
    mysql优化一则(20170703)
    进程与生产者消费者模型
    面向对象程序设计
    常用模块
    模块与包
  • 原文地址:https://www.cnblogs.com/KoBe-bk/p/13575654.html
Copyright © 2011-2022 走看看