清除浮动 迷南。 2023-05-22 04:38 3阅读 0赞 清除浮动主要是为了解决,**父元素因为子级元素浮动引起的内部高度为0的问题** 1.如下,我给父盒子设置一个boder,内部放两个盒子一个big 一个small,未给big和small设置浮动,则他们会默认撑开父盒子 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjEwMDQwNg_size_16_color_FFFFFF_t_70] 2.当我给内部两个盒子加上float属性的时候 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjEwMDQwNg_size_16_color_FFFFFF_t_70 1] 顶部深蓝色盒子就会顶上来,然后父盒子因为没设置高度,变成一条线,big和small已经浮动了 * 总结一下: 当父元素不给高度的时候, 内部元素不浮动时会撑开 而浮动的时候,父元素变成一条线 这时候很多人会想到新建标签clear:both和float 方法,但是这两种方法并不推荐使用! * 什么是clear:both clear:both:本质就是闭合浮动, 就是让父盒子闭合出口和入口,不让子盒子出来 # 清除浮动的方法(最常用的4种) # ## 1.额外标签法(在最后一个浮动标签后,新加一个标签,给其设置clear:both;)(不推荐) ## <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> .fahter{ width: 400px; border: 1px solid deeppink; } .big{ width: 200px; height: 200px; background: darkorange; float: left; } .small{ width: 120px; height: 120px; background: darkmagenta; float: left; } .footer{ width: 900px; height: 100px; background: darkslateblue; } .clear{ clear:both; } </style> </head> <body> <div class="fahter"> <div class="big">big</div> <div class="small">small</div> <div class="clear">额外标签法</div> </div> <div class="footer"></div> </body> </html> ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjEwMDQwNg_size_16_color_FFFFFF_t_70 2] 如果我们清除了浮动,父元素自动检测子盒子最高的高度,然后与其同高。 * 优点:通俗易懂,方便 * 缺点:添加无意义标签,语义化差, * 不建议使用。 ## 2.父级添加overflow属性(父元素添加overflow:hidden)(不推荐) ## 通过触发BFC方式,实现清除浮动 .fahter{ width: 400px; border: 1px solid deeppink; overflow: hidden; } * 优点:代码简洁 * 缺点:内容增多的时候容易造成不会自动换行导致内容被隐藏掉,无法显示要溢出的元素 * 不推荐使用 ## 3.使用after伪元素清除浮动(推荐使用) ## .clearfix:after{ /*伪元素是行内元素 正常浏览器清除浮动方法*/ content: ""; display: block; height: 0; clear:both; visibility: hidden; } .clearfix{ *zoom: 1;/*ie6清除浮动的方式 *号只有IE6-IE7执行,其他浏览器不执行*/ } <body> <div class="fahter clearfix"> <div class="big">big</div> <div class="small">small</div> </div> <div class="footer"></div> </body> * 优点:符合闭合浮动思想,结构语义化正确 * 缺点:ie6-7不支持伪元素:after,使用zoom:1触发hasLayout. * 推荐使用 ## 4.使用before和after双伪元素清除浮动 ## .clearfix:after,.clearfix:before{ content: ""; display: table; } .clearfix:after{ clear: both; } .clearfix{ *zoom: 1; } <div class="fahter clearfix"> <div class="big">big</div> <div class="small">small</div> </div> <div class="footer"></div> * 优点:代码更简洁 * 缺点:用zoom:1触发hasLayout. * 推荐使用 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjEwMDQwNg_size_16_color_FFFFFF_t_70]: /images/20230521/69550377bc2043919c4289b337aadd12.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjEwMDQwNg_size_16_color_FFFFFF_t_70 1]: /images/20230521/95c4abc9d54f416ba5561940401147cc.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjEwMDQwNg_size_16_color_FFFFFF_t_70 2]: /images/20230521/8c8afb48725f410cb3139d872ea2fc3e.png
相关 清除浮动 清除浮动主要是为了解决父级元素因为子级浮动而引起的内部高度为0的情况。 清除浮动的方法有很多种,这里我只写被大家推荐切常用的方法。 1、父级添加伪类 // htm 柔光的暖阳◎/ 2023年08月17日 17:39/ 0 赞/ 168 阅读
相关 清除浮动 清除浮动主要是为了解决,父元素因为子级元素浮动引起的内部高度为0的问题 1.如下,我给父盒子设置一个boder,内部放两个盒子一个big 一个small,未给big和sma 迷南。/ 2023年05月22日 04:38/ 0 赞/ 4 阅读
相关 清除浮动 .clear\{clear:both;height:0;overflow:hidden;\} 上诉办法是在需要清除浮动的地方加个div.clear或者br.clear,我们知 清疚/ 2022年06月09日 12:50/ 0 赞/ 346 阅读
相关 浮动与清除浮动 使用方法: 只需要在需要清楚浮动的div上添加类名 class="clearfix"即可 例子: <div class="someclass clearfix"> 小鱼儿/ 2022年05月16日 04:26/ 0 赞/ 355 阅读
相关 浮动+清除浮动 界面布局 1.企业开发中什么时候使用标准流什么时候使用浮动流? 垂直方向使用标准流,水平方向使用浮动流。 2.拿到一个很复杂的界面如何入手? 从上至下布局、从 待我称王封你为后i/ 2021年10月30日 06:54/ 0 赞/ 602 阅读
相关 清除浮动 通常清除浮动的方法: 1.添加一个空的div。clear:both 缺点:如果页面用了太多的浮动,结构就冗杂。 2.给父元素添加:overflow:auto; 缺点:不 爱被打了一巴掌/ 2021年09月30日 03:52/ 0 赞/ 440 阅读
相关 清除浮动 1.给父元素加溢出处理 overflow:hide 2.定义一个空元素,添加clear属性 3.结合伪元素after た 入场券/ 2021年09月14日 08:26/ 0 赞/ 443 阅读
相关 清除浮动 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> Myth丶恋晨/ 2021年09月14日 07:48/ 0 赞/ 449 阅读
还没有评论,来说两句吧...