• CSS清除浮动


    浮动溢出

    当容器未设置高度,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象。这个现象叫浮动溢出,为了防止这个现象的出现而进行的CSS处理,就叫CSS清除浮动

    1、使用clear属性清除浮动影响

    clear:both 相当于专门设置了一个空盒子来撑起父元素的高度

    1. .father {
    2. background-color: pink;
    3. border: solid 1px black;
    4. width: 200px;
    5. }
    6. .son1{
    7. width: 50px;
    8. height: 50px;
    9. border: solid 1px black;
    10. background-color: blue;
    11. float: left;
    12. }
    13. .son2{
    14. width: 50px;
    15. height: 50px;
    16. border: solid 1px black;
    17. background-color: yellow;
    18. float: left;
    19. }
    20. .son3{
    21. width: 50px;
    22. height: 50px;
    23. border: solid 1px black;
    24. background-color: green;
    25. float: left;
    26. }
    27. .clear {
    28. clear:both;
    29. }
    30. <div class="father">
    31. <div class="son1">div>
    32. <div class="son2">div>
    33. <div class="son3">div>
    34. <div class="clear">div>
    35. div>

    2、使用CSS的overflow属性

    给有浮动元素的container添加overflow:hidden或者overflow:auto;可以清除浮动

    1. .father {
    2. background-color: pink;
    3. border: solid 1px black;
    4. width: 200px;
    5. overflow: auto;
    6. }
    7. .son1{
    8. width: 50px;
    9. height: 50px;
    10. border: solid 1px black;
    11. background-color: blue;
    12. float: left;
    13. }
    14. .son2{
    15. width: 50px;
    16. height: 50px;
    17. border: solid 1px black;
    18. background-color: yellow;
    19. float: left;
    20. }
    21. .son3{
    22. width: 50px;
    23. height: 50px;
    24. border: solid 1px black;
    25. background-color: green;
    26. float: left;
    27. }
    28. <div class="father">
    29. <div class="son1">div>
    30. <div class="son2">div>
    31. <div class="son3">div>
    32. div>

    3、使用CSS的::after伪元素

    给浮动元素的容器添加一个clearfix的class,然后给这个class添加一个:after伪元素实现元素末尾添加一个看不见的块元素(Block element)清理浮动,通过清除伪元素的浮动,达到撑起父元素高度的目的。该伪元素的display值为block(也可以使用table,因为table也是一个块级元素)。

    1. .father {
    2. background-color: pink;
    3. border: solid 1px black;
    4. width: 200px;
    5. }
    6. .son1{
    7. width: 50px;
    8. height: 50px;
    9. border: solid 1px black;
    10. background-color: blue;
    11. float: left;
    12. }
    13. .son2{
    14. width: 50px;
    15. height: 50px;
    16. border: solid 1px black;
    17. background-color: yellow;
    18. float: left;
    19. }
    20. .son3{
    21. width: 50px;
    22. height: 50px;
    23. border: solid 1px black;
    24. background-color: green;
    25. float: left;
    26. }
    27. .clearfix::after{
    28. clear: both;
    29. display: block;
    30. content: "";
    31. }
    32. .clearfix {
    33. *zoom: 1;
    34. }
    35. <div class="father clearfix">
    36. <div class="son1">div>
    37. <div class="son2">div>
    38. <div class="son3">div>
    39. div>

    4、使用 ::before 和 ::after 双伪元素清除浮动

    clearfix::before,clearfix::after

    1. .father {
    2. background-color: pink;
    3. border: solid 1px black;
    4. width: 200px;
    5. }
    6. .son1{
    7. width: 50px;
    8. height: 50px;
    9. border: solid 1px black;
    10. background-color: blue;
    11. float: left;
    12. }
    13. .son2{
    14. width: 50px;
    15. height: 50px;
    16. border: solid 1px black;
    17. background-color: yellow;
    18. float: left;
    19. }
    20. .son3{
    21. width: 50px;
    22. height: 50px;
    23. border: solid 1px black;
    24. background-color: green;
    25. float: left;
    26. }
    27. .clearfix{
    28. *zoom: 1;
    29. }
    30. .clearfix::before,.clearfix::after{
    31. content: '';
    32. display: block;
    33. clear: both;
    34. }
    35. <div class="father clearfix">
    36. <div class="son1">div>
    37. <div class="son2">div>
    38. <div class="son3">div>
    39. div>

  • 相关阅读:
    Godot拉伸设置
    linux 使用avahi测试mdns
    avi视频协议的理解
    72_Pandas.DataFrame保存并读取带pickle的系列(to_pickle、read_pickle)
    湖南省内中高风险地区来长参加成考考生必须进行报备
    MySQL -- 数据类型
    【Android 图像显示系统】整体架构与缓冲区策略
    uniapp 地图如何添加?你要的教程来喽!
    多个Map进行内容合并
    2022年熔化焊接与热切割考试试题及答案
  • 原文地址:https://blog.csdn.net/qq_36507046/article/details/126585397