浮动与清除浮动

作者: MonkeyDwwl | 来源:发表于2016-09-12 23:08 被阅读13次

    浮动float

    文档流

    文档中可显示对象在排列时所占用的位置

    浮动的定义

    使元素脱离文档流,按照指定的方向发生移动,遇到父级边界或者相邻的浮动元素停下来

    float特征

    • 块级元素在一排显示
    • 内联元素支持宽高
    • 默认内容撑开宽度
    • 脱离文档流
    • 提升半个层级

    clear清除浮动

    元素的某个方向上不能有浮动元素

    clear left/right/both/none/inherit

    清除浮动的方法

    1.给父级加高度

    问题是扩展性不好

    2.给父级加浮动

    问题是页面中所有元素可能都要加浮动,margin左右自动失效

    3.给父级设置 display:inline-block

    问题是 margin左右auto失效

    4.空标签清浮动

    在浮动元素旁边新建空标签并给其添加样式clear:both;达到给浮动元素清除浮动的效果。
    问题是IE6最小高度19px;解决后还有2px的偏差,而且设置空标签不符合标准,不建议使用

    5.<br>清浮动

    在浮动元素下面加<br clear="all"/>
    问题是不符合工作中结构、样式、行为三者分离的要求

    6.overflow清除浮动

    给浮动元素的父级添加overflow:hidden;

    overflow:hidden;溢出隐藏
    overflow:scroll;以滚动条形式出现

    7.建议使用:after伪类清除浮动

    伪类:元素内部末尾添加的内容。
    设置zoom,并将after内的content设为空。
    伪类清除浮动,例如:

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

    相关文章

      网友评论

      • chuckiec:👍🏾👍🏿👍🏽👍👍🏼👍🏻

      本文标题:浮动与清除浮动

      本文链接:https://www.haomeiwen.com/subject/abfmettx.html