最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 清除浮动方式(持续更新)

    正文概述 掘金(Yuany)   2021-04-05   412

    清除浮动

    虽然现在有了flex这么方便的东西,但是有的地方还是可以用浮动来写。
    本文就总结一些常用的去除浮动的方法。
    

    什么是浮动

    float:left;或right。可以让元素脱离标准文档流,向左或向右贴靠。传言浮动刚开始设计出来是为了让文字围绕图片环绕显示,后面被开发者们用来布局。

    为什么要清除浮动

    当一个父盒子内部的子元素全部浮动起来的时候,子元素就脱离了标准文档流。父盒子的高度就会塌陷,影响到后面的布局。

    • 父盒子高度塌陷
    • 影响到后面的布局

    怎么清除浮动

    1. 给父元素设置高度

    .box{
        height:300px;
    }
    

    这个是最那啥的办法了,你高度不是塌陷了吗?那我就直接给你一个高度呗....反正我不会这么玩。

    2. 给父元素设置 溢出隐藏

    .box{
        overflow:hidden;
    }
    

    我们给父盒子设置一个overflow:hidden;就触发了父盒子的BFC(块级格式化上下文),这时候就算子元素都浮动了,父盒子也可以将它们包裹起来。这个在偷懒的时候用的挺多的。

    3. 给父元素设置clearfix伪元素

    .clearfix::after{
        content:" ";
        display:block;
        clear:both;
    }
    

    这也是一个很常用的方法,我们事先在CSS中声明一个.clearfix 的伪元素,当父盒子需要清除浮动时,我们就把这个clearfix类名加到它的class中去。

    其原理就是在父盒子内部结尾的位置加了一个假的子元素,这个子元素是清除浮动的。

    4. 内墙法

    <div class="box">
        <div>一只棕色的狗</div>
        <div>一只棕色的狗</div>
        <div>一只棕色的狗</div>
        
        <div class="clear-box"></div>
    </div>
    
    CSS:
    .clear-box{
        clear:both;
    }
    

    内墙法就是在父盒子内部那些浮动的子元素结束的地方,手动加一个空标签,来设置清除浮动。是不是有点像上面一种方法?反正我不是很喜欢用内墙。

    5. 给父盒子也加一个浮动

    .box{
        float:left;
    }
    

    float的值只要不为none,就会触发BFC。触发BFC以后父元素就可以包住浮动的子元素了。但是谁会为了清除子元素浮动来给父盒子加一个浮动呢...不推荐使用。

    结尾

    触发BFC就可以让父盒子包住浮动的子元素,意思就是只要触发了BFC就可以清除浮动了,触发BFC的方法除了上述的,还有一下情况:

    • 根元素body
    • 浮动元素 float不为none
    • 绝对定位元素,position为absolute或者fixed
    • display为inline-block、table-cells、flex
    • overflow除了visible以外的值(hidden、auto、scroll)

    只要有上述一种情况就可以触发BFC

    其实现在有了flex这么好用的方法,还是推荐使用flex吧,因为这个更爽。


    起源地下载网 » 清除浮动方式(持续更新)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元