04 高度塌陷终极解决方案

    技术2022-07-12  73

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> /* 在浮动下面再加一个div,然后clear:both,这样就可以实现浮动元素的高改变时,父元素的高也跟着改变 但是,表现应该是CSS的任务,我们并不想让框架来起到表现的作用,所以不是非常完美 */ .box1{ border: darkorange 5px solid; } .box2{ width: 200px; height: 400px; background-color: tomato; float: left; } .box3{ clear: both; } /* 最佳方案: 在父元素后边通过::after加上conten:'',切记不能是content:none 因为本身after是行内元素所以不会独占一行,所以要用display:block;转换为块元素 最后在clear:both,取消浮动对其影响,这样就可以实现浮动元素的高改变时,父元素的高也跟着改变 */ .boxa{ border: teal 5px solid; } .boxb{ width: 200px; height: 300px; background-color: green; float: left; } .boxa::after{ content: ''; display: block; /* width: 100%; height: 10px; background-color: red; */ clear: both; } </style> </head> <body> <div class="box1"> <div class="box2"></div> <div class="box3"></div> </div> <br/> <div class="boxa"> <div class="boxb"></div> </div> </body> </html>
    Processed: 0.013, SQL: 9