当前位置:   article > 正文

CSS高度塌陷问题及解决方法

css高度塌陷

触发条件

包含结构,所有的子元素浮动,且父元素没有设置高度,就会触发父元素高度塌陷

例如:

解决方法一:

给父元素添加固定高度。

缺点:不适合高度自适应的布局。

代码:

  1. <style>
  2. *{
  3. margin: 0;
  4. padding: 0;
  5. }
  6. ul{
  7. /* 给父元素设置固定的高度 */
  8. height: 600px;
  9. border: 5px solid red;
  10. }
  11. li{
  12. list-style: none;
  13. width: 300px;
  14. height: 100px;
  15. float: left;
  16. border: 1px solid blue;
  17. }
  18. </style>
  19. </head>
  20. <body>
  21. <ul>
  22. <li></li>
  23. <li></li>
  24. <li></li>
  25. <li></li>
  26. <li></li>
  27. <li></li>
  28. </ul>
  29. </body>

解决方法二:

给父元素添加overflow:hidden;

缺点:不适合和定位定出去的页面布局使用

代码:

  1. <style>
  2. *{
  3. margin: 0;
  4. padding: 0;
  5. }
  6. ul{
  7. /* 给父元素设置overflow: hidden; */
  8. overflow: hidden;
  9. border: 5px solid red;
  10. }
  11. li{
  12. list-style: none;
  13. width: 300px;
  14. height: 100px;
  15. float: left;
  16. border: 1px solid blue;
  17. }
  18. </style>
  19. </head>
  20. <body>
  21. <ul>
  22. <li></li>
  23. <li></li>
  24. <li></li>
  25. <li></li>
  26. <li></li>
  27. <li></li>
  28. </ul>
  29. </body>

解决方法三:

给所有的浮动盒子最后添加一个空的标签,例如 div,且添加声明 clear:both;

缺点:多了很多空的标签,造成代码冗余。

代码:

  1. <style>
  2. *{
  3. margin: 0;
  4. padding: 0;
  5. }
  6. ul{
  7. border: 5px solid red;
  8. }
  9. li{
  10. list-style: none;
  11. width: 300px;
  12. height: 100px;
  13. float: left;
  14. border: 1px solid blue;
  15. }
  16. div{
  17. /* 给所有浮动标签后添加div并设置属性clear: both; */
  18. clear: both;
  19. }
  20. </style>
  21. </head>
  22. <body>
  23. <ul>
  24. <li></li>
  25. <div></div>
  26. <li></li>
  27. <div></div>
  28. <li></li>
  29. <div></div>
  30. <li></li>
  31. <div></div>
  32. <li></li>
  33. <div></div>
  34. <li></li>
  35. <div></div>
  36. </ul>
  37. </body>

解决方法四:

万能清除浮动法。

给塌陷的父元素:after{content:"";display:block;clear:both; visibility:hidden;}

代码:

  1. <style>
  2. * {
  3. margin: 0;
  4. padding: 0;
  5. }
  6. ul {
  7. border: 5px solid red;
  8. }
  9. /* 在ul以后添加 */
  10. ul:after {
  11. /* 添加内容 */
  12. content: "";
  13. /* 转块元素 */
  14. display: block;
  15. /* 清除浮动 */
  16. clear: both;
  17. visibility: hidden;
  18. }
  19. li {
  20. list-style: none;
  21. width: 300px;
  22. height: 100px;
  23. float: left;
  24. border: 1px solid blue;
  25. }
  26. </style>
  27. </head>
  28. <body>
  29. <ul>
  30. <li></li>
  31. <li></li>
  32. <li></li>
  33. <li></li>
  34. <li></li>
  35. <li></li>
  36. </ul>
  37. </body>

以上就是高度塌陷的常用解决方法啦,码字不易点个赞吧~~~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/128943
推荐阅读
相关标签
  

闽ICP备14008679号