温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

css中有什么清除浮动的方法

发布时间:2022-03-07 10:35:05 来源:亿速云 阅读:153 作者:小新 栏目:web开发

这篇文章主要介绍了css中有什么清除浮动的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

    css清除浮动的方法一:

    使用带clear属性的空元素

    在浮动元素后使用一个空元素如<divclass="clear"></div>,并在CSS中赋予.clear{clear:both;}属性即可清理浮动。亦可使用<brclass="clear"/>或<hrclass="clear"/>来进行清理。

    .news{

    background-color:gray;

    border:solid1pxblack;

    }

    .newsimg{

    float:left;

    }

    .newsp{

    float:right;

    }

    .clear{

    clear:both;

    }

    <divclass="news">

    <imgsrc="news-pic.jpg"/>

    <p>sometext</p>

    <divclass="clear"></div>

    </div>

    说明:

    优点:简单,代码少,浏览器兼容性好。

    缺点:需要添加大量无语义的html元素,代码不够优雅,后期不容易维护。

    css清除浮动的方法二:

    使用CSS的overflow属性

    给浮动元素的容器添加overflow:hidden;或overflow:auto;可以清除浮动,另外在IE6中还需要触发hasLayout,例如为父元素设置容器宽高或设置zoom:1。

    .news{

    background-color:gray;

    border:solid1pxblack;

    overflow:hidden;

    *zoom:1;

    }

    .newsimg{

    float:left;

    }

    .newsp{

    float:right;

    }

    <divclass="news">

    <imgsrc="news-pic.jpg"/>

    <p>sometext</p>

    </div>

    说明:

    在添加overflow属性后,浮动元素又回到了容器层,把容器高度撑起,达到了清理浮动的效果。

    优点:不存在结构和语义化问题,代码量极少

    缺点:内容增多时候容易造成不会自动换行导致内容被隐藏掉,无法显示需要溢出的元素;04年POPO就发现overflow:hidden会导致中键失效,这是我作为一个多标签浏览控所不能接受的。所以还是不要使用.

    css清除浮动的方法三:

    使用邻接元素处理

    什么都不做,给浮动元素后面的元素添加clear属性。

    .news{

    background-color:gray;

    border:solid1pxblack;

    }

    .newsimg{

    float:left;

    }

    .newsp{

    float:right;

    }

    .content{

    clear:both;

    }

    <divclass="news">

    <imgsrc="news-pic.jpg"/>

    <p>sometext</p>

    <divclass="content"></div>

    </div>

    css清除浮动的方法四:

    使用CSS的:after伪元素

    结合:after伪元素(注意这不是伪类,而是伪元素,代表一个元素之后最近的元素)和IEhack,可以完美兼容当前主流的各大浏览器,这里的IEhack指的是触发hasLayout。

    给浮动元素的容器添加一个clearfix的class,然后给这个class添加一个:after伪元素实现元素末尾添加一个看不见的块元素(Blockelement)清理浮动。

    .news{

    background-color:gray;

    border:solid1pxblack;

    }

    .newsimg{

    float:left;

    }

    .newsp{

    float:right;

    }

    .clearfix:after{

    content:"020";

    display:block;

    height:0;

    clear:both;

    visibility:hidden;

    }

    .clearfix{

    /*触发hasLayout*/

    zoom:1;

    }

    <divclass="newsclearfix">

    <imgsrc="news-pic.jpg"/>

    <p>sometext</p>

    </div>

    说明:通过CSS伪元素在容器的内部元素最后添加了一个看不见的空格"020"或点".",并且赋予clear属性来清除浮动。需要注意的是为了IE6和IE7浏览器,要给clearfix这个class添加一条zoom:1;触发haslayout。

感谢你能够认真阅读完这篇文章,希望小编分享的“css中有什么清除浮动的方法”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

css
AI