Công cụ tạo CSS Flexbox

Đặt trực quan flex-direction, wrap, justify-content, align-items, gap và flex, order, align-self cho từng item, với phần tử con hiển thị trực tiếp và mã CSS sao chép được.

Vùng chứa

align-content chỉ có tác dụng khi các phần tử xuống nhiều dòng.

Phần tử 1

Chọn phần tử ở đây hoặc nhấp vào nó trong phần xem trước.

Xem trước

Kéo góc dưới của phần xem trước để thay đổi kích thước vùng chứa.

Mã CSS
.container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 10px;
}

Công cụ Liên quan

Xem Tất cả

Tạo CSS Flexbox là gì?

Sân chơi flexbox tương tác: đặt các thuộc tính của vùng chứa, thêm tối đa 12 phần tử con và tinh chỉnh flex-grow, flex-shrink, flex-basis, order và align-self cho từng phần tử. Phần xem trước áp dụng đúng mã CSS được tạo.

Cách sử dụng Tạo CSS Flexbox

  1. Đặt vùng chứa: flex-direction, flex-wrap, justify-content, align-items, align-content và gap.
  2. Chọn Số phần tử hiển thị trong phần xem trước.
  3. Chọn một phần tử (bằng nút hoặc bấm trong phần xem trước) và đặt flex-grow, flex-shrink, flex-basis, order và align-self.
  4. Đổi kích thước phần xem trước bằng cách kéo góc để xem bố cục phản ứng thế nào.
  5. Sao chép mã CSS cho .container và các rule .item-n.

Ví dụ

Đầu vào
justify-content space-between, gap 16px; phần tử 2: flex-grow 1, order 2, align-self center
Đầu ra
.container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 16px;
}

.item-2 {
  flex: 1 1 auto;
  order: 2;
  align-self: center;
}

Khi nào nên dùng Tạo CSS Flexbox

Dùng flexbox cho bố cục một chiều: thanh điều hướng, thanh công cụ, nhóm nút, media object và căn giữa. Với bố cục trang hai chiều có cả hàng lẫn cột cùng lúc, công cụ tạo CSS Grid thường là lựa chọn tốt hơn.

Tạo CSS Flexbox hoạt động như thế nào

Vùng chứa luôn có display: flex cùng direction, wrap, justify-content và align-items. align-content chỉ được viết khi các phần tử có thể xuống dòng (nó không có tác dụng với một dòng duy nhất), và gap chỉ khi lớn hơn 0. Với các phần tử, chỉ những giá trị khác mặc định mới được viết: flex: grow shrink basis khi khác 0 1 auto, order khi khác 0 và align-self khi khác auto, dưới dạng các rule tên .item-1, .item-2… flex-basis không hợp lệ sẽ được đánh dấu và bỏ qua.

Các Trường Hợp Sử Dụng Phổ Biến

  • Căn giữa nội dung theo cả chiều ngang và dọc
  • Thanh điều hướng có một mục bị đẩy sang phải
  • Các cột rộng bằng nhau với flex: 1
  • Danh sách tag hoặc thẻ tự xuống dòng
  • Sắp xếp lại thứ tự hiển thị bằng order

Câu Hỏi Thường Gặp

Vì sao align-content không có trong CSS của tôi?

align-content chỉ phân bố các dòng của flex container có xuống dòng. Với flex-wrap: nowrap chỉ có một dòng, nên công cụ bỏ nó đi.

flex: 1 1 auto có nghĩa là gì?

Phần tử có thể giãn ra (1) và co lại (1) từ kích thước tự động của nó. flex-grow quyết định không gian thừa được chia giữa các phần tử ra sao.

order có ảnh hưởng tới khả năng tiếp cận không?

order chỉ đổi thứ tự hiển thị. Trình đọc màn hình và focus bàn phím vẫn theo thứ tự mã HTML, nên đừng dùng nó để sắp xếp lại nội dung có ý nghĩa.

Bước tiếp theo nên làm

Khám phá thêm danh mục