关于浮动的清除 冷不防 2022-01-26 05:27 185阅读 0赞 # 为什么要清除浮动 # 举例来看: <div id="father"> <div id="child1"> </div> <div id="child2"> </div> </div> #father{ border: 1px solid black; width: 700px; } #child1{ /* float: left; */ width: 200px; height: 200px; background-color: aqua; } #child2{ /* float: left; */ width: 400px; height: 400px; background-color: rgb(228, 23, 200); } 如果不对子盒子设置浮动,不设置父盒子高度,那么父盒子可以正常被撑开; ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4MjQzMzE2_size_16_color_FFFFFF_t_70][] 但是如果将子盒子设置为浮动,就会出现子盒子正常浮动,父盒子变成一条线的问题。(情况如下) ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4MjQzMzE2_size_16_color_FFFFFF_t_70 1][] # 如何取消浮动 # ## 方案一:对父元素使用before和after伪类清除浮动 ## 具体写法如下: #father:after, #father:before{ content: ""; display: table; } #father:after{ clear: both; } #father{ *zoom: 1; } 优缺点: 优点:代码简洁,兼容大部分浏览器 缺点:用zoom:1触发hasLayout。(关于什么是hasLayout,请参见一下博文[https://blog.csdn.net/sunny327/article/details/38071503][https_blog.csdn.net_sunny327_article_details_38071503]) ## 方案二:在最后一个子元素后面添加一个空白标签,并对空白标签使用clear:both; ## 写法如下: <div id="father"> <div id="child1"> </div> <div id="child2"> </div> <div id="clear"> </div> </div> #clear { clear: both; } 优缺点: 优点:写法简单,通俗易懂。 缺点:添加无用标签,可读性下降。 ## 方案三:对父元素使用overflow:hidden ## 写法如下: #father { border: 1px solid black; width: 700px; overflow: hidden; } 优缺点: 优点:写法简单,方便简洁。 缺点:溢出元素会被隐藏,会造成显示内容缺失。 ## 方案四:对父元素使用:after伪类 ## 写法如下: #father { border: 1px solid black; width: 700px; zoom: 1 } #father:after { display: block; clear: both; content: ""; visibility: hidden; height: 0 } 优缺点: 优点:兼容大部分浏览器 缺点:用zoom:1会触发hasLayout。 推荐使用方案一和方案四来应对取消浮动问题,另外,可以把清除浮动代码写成公共类,减少代码冗余。 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4MjQzMzE2_size_16_color_FFFFFF_t_70]: /images/20220126/a04ac242ee324a9b8ae129cd26b3bf65.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4MjQzMzE2_size_16_color_FFFFFF_t_70 1]: /images/20220126/4c797832afd840c19d1a8819e04964e6.png [https_blog.csdn.net_sunny327_article_details_38071503]: https://blog.csdn.net/sunny327/article/details/38071503
相关 清除浮动 清除浮动主要是为了解决父级元素因为子级浮动而引起的内部高度为0的情况。 清除浮动的方法有很多种,这里我只写被大家推荐切常用的方法。 1、父级添加伪类 // htm 柔光的暖阳◎/ 2023年08月17日 17:39/ 0 赞/ 140 阅读
相关 浮动的清除 浮动在带来方便的同时也给我们的布局带来了困难,为了消除不好的影响,我们需要动用一些方法来清除浮动造成的影响。 1. 给父盒子设置高度 : 这个适用于父盒子内的元 淡淡的烟草味﹌/ 2022年09月12日 02:49/ 0 赞/ 162 阅读
相关 清除浮动 .clear\{clear:both;height:0;overflow:hidden;\} 上诉办法是在需要清除浮动的地方加个div.clear或者br.clear,我们知 清疚/ 2022年06月09日 12:50/ 0 赞/ 302 阅读
相关 关于清除浮动的四种方法 浮动对页面的影响: 如果一个父盒子中有一个子盒子,并且父盒子没有设置高,子盒子在父盒子中进行了浮动,那么将来父盒子的高度为0.由于父盒子的高度为0, 下面的 快来打我*/ 2022年06月01日 02:46/ 0 赞/ 201 阅读
相关 浮动+清除浮动 界面布局 1.企业开发中什么时候使用标准流什么时候使用浮动流? 垂直方向使用标准流,水平方向使用浮动流。 2.拿到一个很复杂的界面如何入手? 从上至下布局、从 待我称王封你为后i/ 2021年10月30日 06:54/ 0 赞/ 558 阅读
相关 清除浮动 通常清除浮动的方法: 1.添加一个空的div。clear:both 缺点:如果页面用了太多的浮动,结构就冗杂。 2.给父元素添加:overflow:auto; 缺点:不 爱被打了一巴掌/ 2021年09月30日 03:52/ 0 赞/ 400 阅读
相关 清除浮动 1.给父元素加溢出处理 overflow:hide 2.定义一个空元素,添加clear属性 3.结合伪元素after た 入场券/ 2021年09月14日 08:26/ 0 赞/ 403 阅读
相关 清除浮动 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> Myth丶恋晨/ 2021年09月14日 07:48/ 0 赞/ 410 阅读
还没有评论,来说两句吧...