解决子元素设置浮动影响父元素问题

灰太狼 2022-06-09 12:10 543阅读 0赞

例:

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="utf-8"/>
  5. <style> body{ margin:0;padding:0;} .div0{ width:400px;background-color:skyblue;} .div2,.div3{ width:100px;height:100px;background-color:red;float:left;} </style>
  6. </head>
  7. <body>
  8. <div class="div0">
  9. <div class="div2"></div>
  10. <div class="div3"></div>
  11. </div>
  12. </body>
  13. </html>

此时父元素div0无法包含子元素,解决办法:

  1. 1.给父元素设置overflow
  2. .div0{overflow: hidden;}
  3. 2.增加一个子元素,设置clear: both;
  4. <div style="clear:both"></div>
  5. 3.给父元素设置float
  6. .div0{
  7. float:left;}
  8. 缺陷:需要给父元素设置宽度。
  9. 4.移动端经常使用的方法
  10. 给父元素添加类class="clearfix"
  11. .clearfix::after,.clearfix::before{
  12. content: "";
  13. height:0;
  14. line-height: 0;
  15. display: block;
  16. visibility: hidden;
  17. clear: both;
  18. }
  19. /*伪元素before相当于在当前元素的第一个子元素前插入一个元素,after则是在之后插入一个元素*/
  20. //注:为区分伪类和伪元素css3提出伪元素使用::,因此为了兼容IE8及以下,应使用:after和:before。

发表评论

表情:
评论列表 (有 0 条评论,543人围观)

还没有评论,来说两句吧...

相关阅读