flex-direction

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Thuộc tính CSS flex-direction xác định cách các flex item được sắp xếp bên trong flex container, định nghĩa trục chính và hướng sắp xếp (thuận chiều hoặc ngược chiều).

Try it

flex-direction: row;
flex-direction: row-reverse;
flex-direction: column;
flex-direction: column-reverse;
<section class="default-example" id="default-example">
  <div class="transition-all" id="example-element">
    <div>Item One</div>
    <div>Item Two</div>
    <div>Item Three</div>
  </div>
</section>
#example-element {
  border: 1px solid #c5c5c5;
  width: 80%;
  display: flex;
}

#example-element > div {
  background-color: rgb(0 0 255 / 0.2);
  border: 3px solid blue;
  width: 60px;
  margin: 10px;
}

Lưu ý rằng các giá trị rowrow-reverse bị ảnh hưởng bởi hướng chữ viết của flex container. Nếu thuộc tính dir của container là ltr, row đại diện cho trục nằm ngang từ trái sang phải, và row-reverse từ phải sang trái; nếu thuộc tính dirrtl, row đại diện cho trục từ phải sang trái, và row-reverse từ trái sang phải.

Cú pháp

css
/* Hướng bố trí văn bản theo dòng */
flex-direction: row;

/* Giống <row>, nhưng ngược chiều */
flex-direction: row-reverse;

/* Hướng xếp chồng các dòng văn bản */
flex-direction: column;

/* Giống <column>, nhưng ngược chiều */
flex-direction: column-reverse;

/* Giá trị toàn cục */
flex-direction: inherit;
flex-direction: initial;
flex-direction: revert;
flex-direction: revert-layer;
flex-direction: unset;

Giá trị

Các giá trị được chấp nhận gồm:

row

Trục chính của flex container được xác định giống với hướng văn bản. Điểm main-startmain-end trùng với hướng nội dung.

row-reverse

Hoạt động giống row nhưng điểm main-startmain-end ngược lại so với hướng nội dung.

column

Trục chính của flex container là trục khối. Điểm main-startmain-end tương ứng với các điểm beforeafter của chế độ viết (writing-mode).

column-reverse

Hoạt động giống column nhưng điểm main-startmain-end ngược lại so với hướng nội dung.

Khả năng tiếp cận

Sử dụng thuộc tính flex-direction với giá trị row-reverse hoặc column-reverse sẽ tạo ra sự không khớp giữa trình bày trực quan của nội dung và thứ tự trong DOM. Điều này ảnh hưởng tiêu cực đến người dùng có thị lực kém khi điều hướng với sự trợ giúp của công nghệ hỗ trợ như trình đọc màn hình. Nếu thứ tự trực quan (CSS) quan trọng, thì người dùng trình đọc màn hình sẽ không có quyền truy cập vào thứ tự đọc chính xác.

Định nghĩa hình thức

Initial valuerow
Applies toflex containers
Inheritedno
Computed valueas specified
Animation typediscrete

Cú pháp hình thức

flex-direction = 
row |
row-reverse |
column |
column-reverse

Ví dụ

Đảo ngược cột và hàng flex container

HTML

html
<h4>This is a Column-Reverse</h4>
<div id="col-rev" class="content">
  <div class="box red">A</div>
  <div class="box lightblue">B</div>
  <div class="box yellow">C</div>
</div>
<h4>This is a Row-Reverse</h4>
<div id="row-rev" class="content">
  <div class="box red">A</div>
  <div class="box lightblue">B</div>
  <div class="box yellow">C</div>
</div>

CSS

css
.content {
  width: 200px;
  height: 200px;
  border: 1px solid #c3c3c3;
  display: flex;
}

.box {
  width: 50px;
  height: 50px;
}

#col-rev {
  flex-direction: column-reverse;
}

#row-rev {
  flex-direction: row-reverse;
}

.red {
  background-color: red;
}

.lightblue {
  background-color: lightblue;
}

.yellow {
  background-color: yellow;
}

Kết quả

Đặc tả

Specification
CSS Flexible Box Layout Module Level 1
# flex-direction-property

Tương thích trình duyệt

Xem thêm