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

Căn ngang flex items với justify-content khi không gian thừa

Thuộc tính justify-content căn chỉnh flex items trên trục chính (main axis) khi tổng kích thước items nhỏ hơn container. Đây là cách tiêu chuẩn để căn giữa, space-between, space-around...

Ví dụ: justify-content: center

<!DOCTYPE html>
<html>
<head>
  <style>
    .mycontainer {
      display: flex;
      background-color: #3498db;
      justify-content: center;
      padding: 10px;
      gap: 10px;
    }
    .mycontainer > div {
      background-color: white;
      text-align: center;
      line-height: 40px;
      font-size: 25px;
      width: 100px;
      border-radius: 4px;
    }
  </style>
</head>
<body>
  <h1>Quiz</h1>
  <div class="mycontainer">
    <div>Q1</div>
    <div>Q2</div>
    <div>Q3</div>
    <div>Q4</div>
  </div>
</body>
</html>

Các giá trị justify-content

Giá trịHiệu ứngUse case
flex-startDồn đầu (mặc định)Menu trái, text align left
centerCăn giữaHero section, modal, pagination
flex-endDồn cuốiAction buttons right
space-between2 đầu chạm mép, giữa cách đềuHeader: logo left, nav right
space-aroundKhoảng cách quanh itemGallery, card grid
space-evenlyKhoảng cách hoàn toàn đềuTab bar, tool group

Khi flex-direction: column

.vertical-center {
  display: flex;
  flex-direction: column;
  height: 100vh;
  justify-content: center; /* Căn giữa DỌC */
}

Kết hợp gap (Modern CSS)

.nav {
  display: flex;
  justify-content: space-between;
  gap: 2rem; /* Khoảng cách giữa items */
  align-items: center;
}

Lưu ý

  • Chỉ tác dụng khi có không gian thừa trên main axis
  • Nếu items lớn hơn container: không có hiệu ứng (trừ khi wrap)
  • Khác với align-items (cross axis) và align-content (multi-line)