📖 HTML & CSS Nâng cao
65 phút

Flexbox Layout

Giới thiệu Flexbox

Flexbox là một kỹ thuật layout trong CSS3 giúp sắp xếp các phần tử linh hoạt.

Container Properties

display: flex

.container {
  display: flex;
}

flex-direction

.container {
  display: flex;
  flex-direction: row; /* row | row-reverse | column | column-reverse */
}

justify-content

.container {
  display: flex;
  justify-content: flex-start; /* flex-start | flex-end | center | space-between | space-around | space-evenly */
}

align-items

.container {
  display: flex;
  align-items: stretch; /* stretch | flex-start | flex-end | center | baseline */
}

Item Properties

flex-grow, flex-shrink, flex-basis

.item {
  flex: 1; /* flex-grow: 1, flex-shrink: 1, flex-basis: 0% */
}

.item-large {
  flex: 2;
}

align-self

.item {
  align-self: center; /* auto | flex-start | flex-end | center | baseline | stretch */
}

Ví dụ thực tế

Navigation bar

<nav class="navbar">
  <div class="logo">Logo</div>
  <ul class="nav-links">
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Services</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</nav>
.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 2rem;
  background-color: #333;
  color: white;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2rem;
}

.nav-links a {
  color: white;
  text-decoration: none;
  transition: color 0.3s;
}

.nav-links a:hover {
  color: #4CAF50;
}

Bài tập thực hành

Hãy tạo layout với Flexbox!

📝 Bài tập (2)

  1. Tạo layout thẻ sản phẩm sử dụng Flexbox

  2. Tạo gallery ảnh responsive với Flexbox

Khóa học "HTML & CSS Nâng cao"