Khi làm việc với CSS, một trong những thách thức lớn nhất là xây dựng layout linh hoạt và dễ kiểm soát. Trước khi Flexbox ra đời, chúng ta thường phải dùng đến float, position hay các hack CSS phức tạp để căn giữa hoặc sắp xếp các phần tử. Nhưng từ khi Flexbox (Flexible Box Layout) xuất hiện, mọi thứ đã trở nên dễ dàng hơn rất nhiều.
Trong bài viết này, CodeTutHub sẽ cùng bạn khám phá:
- Flexbox là gì?
- Tại sao nó lại quan trọng?
- Cách sử dụng các thuộc tính Flexbox phổ biến
- Một vài ví dụ thực tế để bạn áp dụng ngay.
Flexbox là gì?
Flexbox là một module trong CSS3 cho phép bạn thiết kế layout 1 chiều (một hàng hoặc một cột) dễ dàng hơn bao giờ hết. Nó đặc biệt hữu ích khi bạn muốn sắp xếp, căn giữa hoặc phân bố không gian giữa các phần tử trong một container.
Flexbox hoạt động dựa trên hai thành phần chính:
- Flex container: phần tử cha – nơi kích hoạt chế độ flex.
- Flex items: các phần tử con bên trong – chính là những gì bạn muốn sắp xếp.
Cách sử dụng Flexbox
Để bắt đầu, bạn chỉ cần thêm dòng CSS sau vào phần tử cha:
display: flex;Ngay lập tức, tất cả phần tử con sẽ trở thành flex items và chịu sự điều khiển của các thuộc tính Flexbox.
Các thuộc tính chính của Flexbox
1. Trên Flex Container
display: flex;– Kích hoạt Flexbox.flex-direction– Quy định hướng:row(mặc định): các item nằm ngangcolumn: các item nằm dọcrow-reverse,column-reverse: đảo chiều
justify-content– Căn chỉnh theo trục chính (main axis):flex-start,flex-end,center,space-between,space-around,space-evenly
align-items– Căn chỉnh theo trục phụ (cross axis):stretch(mặc định),flex-start,flex-end,center,baseline
flex-wrap– Cho phép item xuống dòng nếu không đủ chỗ:nowrap(mặc định),wrap,wrap-reverse
2. Trên Flex Items
flex– Thuộc tính viết tắt choflex-grow,flex-shrink,flex-basisalign-self– Ghi đèalign-itemscho từng itemorder– Thay đổi thứ tự xuất hiện
