CSS浮动定位是一种布局技术,它允许元素脱离正常的文档流,并可以左右浮动,常用于图文混排、多栏布局等场景。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CSS Float Example</title>
<style>
.container {
width: 400px;
border: 1px solid black;
}
.float-left {
float: left;
width: 100px;
height: 100px;
background-color: red;
}
.float-right {
float: right;
width: 100px;
height: 100px;
background-color: blue;
}
.clear {
clear: both;
}
</style>
</head>
<body>
<div class="container">
<div class="float-left">Left</div>
<div class="float-right">Right</div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
<div class="clear"></div>
</div>
</body>
</html>原因:当子元素浮动后,它会脱离正常的文档流,导致父元素无法正确计算其高度。
解决方法:
clear:both。overflow:auto或overflow:hidden。:before和:after来清除浮动。.clearfix::before,
.clearfix::after {
content: "";
display: table;
}
.clearfix::after {
clear: both;
}<div class="container clearfix">
<div class="float-left">Left</div>
<div class="float-right">Right</div>
<p>Lorem ipsum dolor sit amet...</p>
</div>请注意,随着CSS Grid和Flexbox的出现,浮动定位的使用已经减少,因为它们提供了更强大、更灵活的布局解决方案。