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

Thuộc tính flex-direction trong CSS Flexbox

Thuộc tính flex-direction xác định hướng của trục chính (main axis), quyết định flex items được xếp theo hàng ngang hay cột dọc.

Các giá trị

Giá trịTrục chínhThứ tự
row (mặc định)Ngang (← →)Trái sang phải
row-reverseNgang (← →)Phải sang trái
columnDọc (↑ ↓)Trên xuống dưới
column-reverseDọc (↑ ↓)Dưới lên trên

Ví dụ: flex-direction: column (Xếp dọc)

<!DOCTYPE html>
<html>
<head>
  <style>
    .mycontainer {
      display: flex;
      flex-direction: column;
      background-color: #e67e22;
      padding: 10px;
      gap: 10px;
    }
    .mycontainer > div {
      background-color: white;
      text-align: center;
      line-height: 40px;
      font-size: 25px;
      width: 100px;
      margin: 5px auto;
      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>Q5</div>
    <div>Q6</div>
  </div>
</body>
</html>

Ảnh hưởng đến các thuộc tính khác

Khi thay đổi flex-direction, các trục thay đổi:

flex-directionMain AxisCross Axisjustify-contentalign-items
rowNgangDọcCăn ngangCăn dọc
columnDọcNgangCăn dọcCăn ngang

Responsive: Column trên mobile, Row trên desktop

.card-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 768px) {
  .card-container {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .card-container > * {
    flex: 1 1 300px;
  }
}

Shorthand: flex-flow

.container {
  flex-flow: column wrap; /* flex-direction + flex-wrap */
}