Thuộc tính float trong CSS
Trần Thị Vân
- 1718
- 11/07/2025
Chức năng của Thuộc tính float trong CSS
Thuộc tính float trong CSS dùng để canh phần tử HTML nằm bên trái hoặc canh phần tử HTML nằm bên phải, giúp giao diện website được tổ chức theo khung trải dài từ trên xuống dưới, từ trái qua phải.
Cú pháp của Thuộc tính float trong CSS
float: giatri;
giatri: Giá trị dùng để canh trái, canh phải phần tử HTML (Ví dụ: left, right, none)
Các giá trị của Thuộc tính float trong CSS
left: Canh phần tử HTML nằm bên trái.
right: Canh phần tử HTML nằm bên phải.
none: Không canh trái cũng không canh phải.
Ví dụ Thuộc tính float trong CSS
<!DOCTYPE html>
<html>
<head>
<title>Chạy thử Ví dụ Thuộc tính float trong CSS</title>
<style>
* {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
div, header, footer{background:red; color:#fff}
header{width:100%;height:40px; margin-bottom:10px}
section {width:100%;height:auto;margin-bottom:10px}
div{width:49%;height:100px;}
footer{width:100%;height:40px;}
h1,p{width:100%; float: left; height: auto;}
</style>
</head>
<body>
<h1>Chạy thử Ví dụ Thuộc tính float trong CSS</h1>
<p>Dùng để canh phần tử HTML nằm bên trái hoặc canh phần tử HTML nằm bên phải, giúp giao diện website được tổ chức theo khung trải dài từ trên xuống dưới, từ trái qua phải:</p>
<header style="float:left;">header (float:left;)</header>
<section style="float:left;">
<div style="float:left;">Khung chính trái (float:left;)</div>
<div style="float:right;">Khung chính phải (float:right;)</div>
</section>
<footer style="float:left;" >footer (float:left;)</footer>
</body>
</html>
Cách xử lý lỗi bố cục khi sử dụng Float trong CSS
Khi sử dụng float, phần tử có thể được đưa sang trái hoặc phải và không còn tham gia vào luồng bố cục thông thường theo cách giống phần tử chưa float. Vì vậy, các phần tử đứng sau hoặc phần tử cha đôi khi không hiển thị đúng vị trí mong muốn.
Để bố cục ổn định, cần hiểu cách clear hoạt động và biết cách xử lý trường hợp phần tử cha không bao quanh được phần tử đã float.
Vì sao phần tử phía sau bị đẩy lên khi dùng Float?
Khi một phần tử được áp dụng float, phần tử tiếp theo có thể tìm khoảng trống còn lại bên cạnh nó thay vì nằm hoàn toàn ở phía dưới. Điều này thường xuất hiện khi dùng float để tạo bố cục hai cột hoặc đặt hình ảnh cạnh nội dung.
Ví dụ, khi một khối được float sang trái, khối tiếp theo có thể nằm bên phải khối đó:
<div class="left">Nội dung bên trái</div>
<div class="right">Nội dung bên phải</div>
Nếu muốn phần tử tiếp theo bắt đầu từ một hàng mới, cần chủ động loại bỏ ảnh hưởng của float thay vì chỉ điều chỉnh margin hoặc vị trí.
Cách sử dụng thuộc tính Clear để xử lý Float
clear được dùng để yêu cầu một phần tử không nằm cạnh các phần tử đang float theo hướng được chỉ định. Đây là cách trực tiếp để ngăn nội dung phía sau bị cuốn lên khu vực còn trống.
Có thể sử dụng các giá trị phổ biến như left, right hoặc both. Trong trường hợp muốn loại bỏ ảnh hưởng của cả hai hướng, both thường là lựa chọn phù hợp.
<div class="left">Cột trái</div>
<div class="right">Cột phải</div>
<div class="clear">Nội dung mới</div>
CSS tương ứng:
.clear {
clear: both;
}
Cách này đặc biệt hữu ích khi một phần nội dung cần nằm hoàn toàn bên dưới các khối đã float.
Cách khắc phục phần tử cha không bao quanh phần tử Float
Một tình huống thường gây nhầm lẫn là phần tử con đã float nhưng phần tử cha lại không tự mở rộng chiều cao để bao quanh nó. Khi đó, nền hoặc đường viền của phần tử cha có thể không bao phủ hết nội dung bên trong.
Thay vì chèn một phần tử rỗng chỉ để dùng clear, có thể tạo một vùng định dạng mới bằng flow-root. Cách này giúp phần tử cha thiết lập một ngữ cảnh định dạng riêng và bao quát các phần tử float bên trong.
.container {
display: flow-root;
}
Đây là lựa chọn gọn gàng khi cần giữ cấu trúc HTML đơn giản và hạn chế các phần tử chỉ phục vụ mục đích xử lý bố cục.
Sử dụng Display Flow-root để kiểm soát Float
display: flow-root phù hợp khi phần tử cha chứa các phần tử float và cần tự quản lý chiều cao của nội dung bên trong. Khi áp dụng, phần tử tạo ra một block formatting context mới, giúp giới hạn ảnh hưởng của float trong phạm vi cần thiết.
.box {
display: flow-root;
}
.box img {
float: left;
margin-right: 15px;
}
Cách này đặc biệt hữu ích trong các thành phần như hộp bài viết, khu vực hình ảnh kèm văn bản hoặc những bố cục cũ vẫn đang sử dụng float. Tuy nhiên, với các bố cục nhiều cột hiện đại, nên cân nhắc Flexbox hoặc CSS Grid thay vì dùng float như một hệ thống bố cục chính.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Thuộc tính float trong CSS.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *