Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> CSS

Xóa float với Clearfix Hack trong CSS

Clearfix hack là kỹ thuật cổ điển để chứa các phần tử con float bên trong container cha, ngăn chặn hiện tượng "collapse" (cha co lại độ cao 0). Dưới đây là cách thực hiện:

Ví dụ mã nguồn

<!DOCTYPE html>
<html>
<head>
<style>
  body {
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  }
  div {
    border: 3px solid rgb(21, 0, 114);
    padding: 5px;
  }
  img {
    float: right;
  }
  .clearfix {
    overflow: auto; /* Cách đơn giản nhất */
  }
</style>
</head>
<body>
<h1>Ví dụ Clearfix hack</h1>
<h2>Không có Clearfix</h2>
<div>
  <img src="https://i.picsum.photos/id/17/300/300.jpg" width="100" height="100"/> Văn bản mẫu
</div>
<h2 style="clear:right">Có Clearfix</h2>
<div class="clearfix">
  <img src="https://i.picsum.photos/id/17/300/300.jpg" width="100" height="100"/> Văn bản mẫu
</div>
</body>
</html>

Các phương pháp Clearfix phổ biến

Phương phápCSSGhi chú
Overflow.clearfix { overflow: auto; }Đơn giản, nhưng có thể cắt nội dung hoặc tạo scrollbar không mong muốn
Pseudo-element (Modern).clearfix::after { content: ""; display: table; clear: both; }Khuyến nghị, không side-effect
Flexbox/Grid.container { display: flex; }Cách hiện đại, không cần clearfix

Khuyến nghị

Nên sử dụng Flexbox hoặc Grid cho layout mới. Clearfix pseudo-element vẫn hữu ích khi maintain code cũ dùng float.