- Trang chủ
- Hướng dẫn học
- Hướng dẫn học CSS3
- Display flex
display: flex là gì?
CSS3 ra mắt 2 giá trị mới cho thuộc tính display
là flex
và inline-flex
, giúp sắp xếp, bố cục các thành phần khối [block] một cách dễ dàng, linh hoạt hơn trước.
display: flex
và display: inline-flex
và các thuộc tính đi kèm được sử dụng khá nhiều trong việc xử lý các cấu trúc, nếu như trước đây đôi lúc cần Javascript để hỗ trợ, thì giờ đây display flex sẽ giúp xử lý nhiều cấu trúc phức tạp một cách dễ dàng.
Cấu trúc cơ bản
flex | display flex: flex; | Giúp các thành phần linh hoạt. |
inline-flex | display flex: inline-flex; | Giúp các thành phần linh hoạt dưới dạng các inline. |
Cách sử dụng
HTML viết:
123
CSS viết - khi chưa sử dụng .box {
border: 1px solid #ccc;
min-height: 300px;
}
.box div {
margin: 5px;
text-align: center;
background-color: #72C953;
}
.box div:nth-child[1] {
height: 70px;
width: 70px;
line-height: 70px;
}
.box div:nth-child[2] {
height: 50px;
width: 50px;
line-height: 50px;
}
.box div:nth-child[3] {
height: 30px;
width: 30px;
line-height: 30px;
}
0:
.box { border: 1px solid #ccc; min-height: 300px; } .box div { margin: 5px; text-align: center; background-color: #72C953; } .box div:nth-child[1] { height: 70px; width: 70px; line-height: 70px; } .box div:nth-child[2] { height: 50px; width: 50px; line-height: 50px; } .box div:nth-child[3] { height: 30px; width: 30px; line-height: 30px; }
Hiển thị trình duyệt:
Bây giờ ta sẽ lần lượt áp dụng display: flex
và display: inline-flex
để hiểu hơn cách hoạt động của các thuộc tính này:
display: flex
.box {
border: 1px solid #ccc;
min-height: 300px;
display: flex;
}
.box div {
margin: 5px;
text-align: center;
background-color: #72C953;
}
.box div:nth-child[1] {
height: 70px;
width: 70px;
line-height: 70px;
}
.box div:nth-child[2] {
height: 50px;
width: 50px;
line-height: 50px;
}
.box div:nth-child[3] {
height: 30px;
width: 30px;
line-height: 30px;
}
Hiển thị trình duyệt:
Bây giờ ta sẽ lần lượt áp dụng display: flex
và display: inline-flex
để hiểu hơn cách hoạt động của các thuộc tính này:
display: flex
.box {
border: 1px solid #ccc;
min-height: 300px;
display: inline-flex;
}
.box div {
margin: 5px;
text-align: center;
background-color: #72C953;
}
.box div:nth-child[1] {
height: 70px;
width: 70px;
line-height: 70px;
}
.box div:nth-child[2] {
height: 50px;
width: 50px;
line-height: 50px;
}
.box div:nth-child[3] {
height: 30px;
width: 30px;
line-height: 30px;
}
Hiển thị trình duyệt:
Bây giờ ta sẽ lần lượt áp dụng display: flex
và display: inline-flex
để hiểu hơn cách hoạt động của các thuộc tính này:
display: flex
Ta thấy display: flex
đã giúp cho các thành phần được hiển thị linh hoạt hơn.
.box {
Viết ở chỗ này ^^
}
display: inline-flex
Bên dưới đây sẽ cho các bạn thấy một số kết hợp thường dùng, giá trị được viết bên trong class .box { border: 1px solid #ccc; min-height: 300px; } .box div { margin: 5px; text-align: center; background-color: #72C953; } .box div:nth-child[1] { height: 70px; width: 70px; line-height: 70px; } .box div:nth-child[2] { height: 50px; width: 50px; line-height: 50px; } .box div:nth-child[3] { height: 30px; width: 30px; line-height: 30px; }7: | 1 2 3 |
Kết hợp 1 giá trị flex-direction: row-reverse; | 1 2 3 |
Ví dụ justify-content: center; | 1 2 3 |
Kết quả justify-content: flex-end; | 1 2 3 |
display: flex; justify-content: space-between; | 1 2 3 |
display: flex;flex-direction: row-reverse; justify-content: space-around; | 1 2 3 |
display: flex;justify-content: center; align-items: flex-end; | 1 2 3 |
display: flex;justify-content: flex-end; align-items: center; | 1 2 3 |
display: flex;justify-content: space-between; align-items: baseline; | 1 2 3 |
display: flex;justify-content: space-around;
Bên dưới đây sẽ cho các bạn thấy một số kết hợp thường dùng, giá trị được viết bên trong class .box { border: 1px solid #ccc; min-height: 300px; } .box div { margin: 5px; text-align: center; background-color: #72C953; } .box div:nth-child[1] { height: 70px; width: 70px; line-height: 70px; } .box div:nth-child[2] { height: 50px; width: 50px; line-height: 50px; } .box div:nth-child[3] { height: 30px; width: 30px; line-height: 30px; }7: flex-direction: row-reverse; justify-content: center; | 1 2 3 |
Kết hợp 1 giá trị justify-content: space-between; align-items: center; | 1 2 3 |
Ví dụ flex-direction: row-reverse; justify-content: flex-end; | 1 2 3 |
Kết quả flex-direction: center; align-items: center; | 1 2 3 |
display: flex; flex-direction: column; | 1 2 3 |
display: flex; flex-direction: column; | 1 2 3 |
display: flex;flex-direction: row-reverse; flex-direction: column; justify-content: center; | 1 2 3 |
display: flex;justify-content: center; flex-direction: column; justify-content: space-between; | 1 2 3 |
display: flex;justify-content: flex-end; flex-direction: column; justify-content: space-around; | 1 2 3 |
display: flex;justify-content: space-between; flex-direction: column; justify-content: space-around; align-items: center; | 1 2 3 |
display: flex;justify-content: space-around; flex-direction: column-reverse; justify-content: space-around; align-items: center; | 1 2 3 |
display: flex;align-items: flex-end;