Đăng nhập

Bài 14: Flexbox cơ bản – Trục chính và trục phụ

CSS Flexbox (Flexible Box) là một công cụ mạnh mẽ và hiện đại giúp bạn tạo bố cục hàng ngang, hàng dọc, căn giữa, giãn đều, v.v. dễ dàng hơn nhiều so với cách cũ như float.

Trong bài học này, chúng ta sẽ tìm hiểu:

  • Cách kích hoạt Flexbox
  • Khái niệm trục chínhtrục phụ
  • Các thuộc tính cơ bản để sắp xếp phần tử

Bạn chỉ cần hiểu bài này là đã có thể bắt đầu dùng Flexbox để tạo menu ngang, chia cột, căn giữa…


1. Kích hoạt Flexbox

Chỉ cần thêm:

.container {
  display: flex;
}

→ Lập tức các phần tử con bên trong .container sẽ tuân theo quy tắc Flexbox.


2. Trục chính và trục phụ

a. Trục chính (main axis)

  • Mặc định là ngang từ trái sang phải
  • Điều khiển bởi thuộc tính justify-content

b. Trục phụ (cross axis)

  • Vuông góc với trục chính (mặc định là trục dọc)
  • Điều khiển bởi align-items

3. justify-content – căn theo trục chính

.container {
  display: flex;
  justify-content: center;
}
Giá trịÝ nghĩa
flex-startDồn về đầu trục chính (trái)
centerCăn giữa theo trục chính
flex-endDồn về cuối trục chính (phải)
space-betweenKhoảng cách đều, đầu/cuối sát mép
space-aroundKhoảng cách đều cả hai bên mỗi item
space-evenlyKhoảng cách hoàn toàn bằng nhau

4. align-items – căn theo trục phụ

.container {
  display: flex;
  align-items: center;
}
Giá trịTác dụng
stretch(mặc định) – kéo cao bằng nhau
flex-startCăn đầu trục phụ (trên)
centerCăn giữa trục phụ
flex-endCăn về cuối trục phụ (dưới)
baselineCăn theo dòng chữ

5. flex-direction – thay đổi hướng trục chính

.container {
  display: flex;
  flex-direction: row; /* mặc định */
}
Giá trịTrục chính là…
rowHàng ngang (trái → phải)
row-reverseHàng ngang (phải → trái)
columnCột dọc (trên → dưới)
column-reverseCột dọc (dưới → trên)

6. Thực hành: Flexbox căn giữa ngang – dọc

style.css

.flex-container {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #e1f5fe;
  height: 200px;
  border: 2px dashed #0288d1;
}

.box {
  background: #0288d1;
  color: white;
  padding: 20px 30px;
  font-weight: bold;
}

index.html

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Bài 14 – Flexbox cơ bản</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>

  <div class="flex-container">
    <div class="box">Căn giữa bằng Flexbox</div>
  </div>

</body>
</html>

7. Ghi nhớ

Thuộc tínhDùng để làm gì
display: flexKích hoạt Flexbox cho container
justify-contentCăn phần tử theo trục chính
align-itemsCăn phần tử theo trục phụ
flex-directionĐổi hướng trục chính (ngang ↔ dọc)

Thảo luận

Email 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 *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.