12_浮动.html 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <style>
  9. ul{
  10. list-style: none;
  11. /* 1 给父元素添加一个高度 */
  12. /* height:23px; */
  13. /* 2 overflow */
  14. /* overflow: hidden; */
  15. }
  16. li{
  17. width: 120px;
  18. background: #f00;
  19. float: left;
  20. }
  21. h2{
  22. height: 50px;
  23. background: green;
  24. }
  25. .clearfix::after{
  26. content:'';
  27. /* 块级元素 */
  28. display: block;
  29. /* 清除浮动 */
  30. clear:both;
  31. }
  32. #div1{
  33. width: 200px;
  34. height: 200px;
  35. background: #f00;
  36. float: left;
  37. }
  38. #div2{
  39. width: 200px;
  40. height: 200px;
  41. background: #0f0;
  42. float: left;
  43. }
  44. #div3{
  45. background: #00f;
  46. }
  47. </style>
  48. </head>
  49. <body>
  50. <!-- 浮动 float:left|right|none
  51. 浮动元素的特点: 浮动的元素会脱离文档流,空间释放
  52. 浮动后的元素既可以设置宽高 又可以多个占一行
  53. 浮动导致的问题:浮动元素会脱离文档流,空间释放,-> 父元素没有高度(塌陷)->底下的元素会串上来
  54. 解决方式:
  55. 1 给父元素添加一个高度
  56. 2 给父元素添加一个overflow:hidden (overflow:hidden 本身是溢出隐藏)
  57. 3 清除浮动 clear:left|right|both
  58. 在浮动的元素下边,添加一个'块级'元素,然后清除浮动
  59. 4 3升级版本
  60. .clearfix::after{
  61. content:'';
  62. /* 块级元素 */
  63. display: block;
  64. /* 清除浮动 */
  65. clear:both;
  66. }
  67. -->
  68. <ul class="clearfix">
  69. <li>111</li>
  70. <li>222</li>
  71. <li>333</li>
  72. <!-- <div style="clear:both"></div> -->
  73. </ul>
  74. <h2></h2>
  75. <div id="div3" class="clearfix">
  76. <div id="div1"></div>
  77. <div id="div2"></div>
  78. </div>
  79. </body>
  80. </html>