All Tracks/review css flexbox/
Đang tải...
Hướng dẫn thử thách
1 / 1

CSS Flexbox Review

# --interactive-- ## Introduction to CSS Flexbox and Flex Model - **Definition**: CSS flexbox is a one-dimensional layout model that allows you to arrange elements in rows and columns within a container. - **Flex Model**: This model defines how flex items are arranged within a flex container. Every flex container has two axes: the main axis and the cross axis. ## The `flex-direction` Property - **Definition**: This property sets the direction of the main axis. The default value of `flex-direction` is `row`, which places all the flex items on the same row, in the direction of your browser's default language (left to right or right to left). - **`flex-direction: row-reverse;`**: This reverses the items in the row. - **`flex-direction: column;`**: This will align the flex items vertically instead of horizontally. - **`flex-direction: column-reverse;`**: This reverses the order of the flex items vertically. :::interactive_editor ```html <link rel="stylesheet" href="styles.css"> <div class="container"> <div class="box">1</div> <div class="box">2</div> <div class="box">3</div> </div> ``` ```css .container { display: flex; flex-direction: row; gap: 10px; } .box { background-color: lightblue; padding: 20px; text-align: center; } ``` ::: ## The `flex-wrap` Property - **Definition**: This property determines how flex items are wrapped within a flex container to fit the available space. `flex-wrap` can take three possible values: `nowrap`, `wrap`, and `wrap-reverse`. - **`flex-wrap: nowrap;`**: This is the default value. Flex items won't be wrapped onto a new line, even if their width exceed the container's width. - **`flex-wrap: wrap;`**: This property will wrap the items when they exceed the width of their container. - **`flex-wrap: wrap-reverse;`**: This property will wrap flex items in reverse order. - **`flex-flow` Property**: This property is a shorthand property for `flex-direction` and `flex-wrap`. :::interactive_editor ```html <link rel="stylesheet" href="styles.css"> <div class="container"> <div class="box">1</div> <div class="box">2</div> <div class="box">3</div> <div class="box">4</div> <div class="box">5</div> </div> ``` ```css .container { display: flex; flex-wrap: wrap; width: 150px; background: #f0f0f0; } .box { width: 60px; padding: 10px; margin: 5px; background: skyblue; text-align: center; } ``` ::: ## The `justify-content` Property - **Definition**: This property aligns the child elements along the main axis of the flex container. - **`justify-content: flex-start;`**: In this case, the flex items will be aligned to the start of the main axis. This could be horizontal or vertical. - **`justify-content: flex-end;`**: In this case, the flex items are aligned to the end of the main axis, horizontally or vertically. - **`justify-content: center;`**: This centers the flex items along the main axis. - **`justify-content: space-between;`**: This will distribute the elements evenly along the main axis. - **`justify-content: space-around;`**: This will distribute flex items evenly within the main axis, adding a space before the first item and after the last item. - **`justify-content: space-evenly;`**: This will distribute the items evenly along the main axis. :::interactive_editor ```html <link rel="stylesheet" href="styles.css"> <div class="container"> <div class="box">A</div> <div class="box">B</div> <div class="box">C</div> </div> ``` ```css .container { display: flex; justify-content: space-between; background: #eee; } .box { padding: 20px; background: salmon; } ``` ::: ## The `align-items` Property - **Definition**: This property is used to distribute items along the cross axis. Remember that the cross axis is perpendicular to the main axis. - **`align-items: center;`**: This is used to center the items along the cross axis. - **`align-items: flex-start;`**: This aligns the items to the start of the cross axis. - **`align-items: stretch;`**: This is used to stretch the flex items along the cross axis. :::interactive_editor ```html <link rel="stylesheet" href="styles.css"> <div class="container"> <div class="box tall">1</div> <div class="box">2</div> <div class="box">3</div> </div> ``` ```css .container { display: flex; align-items: center; height: 150px; background: #ddd; } .box { background: lightgreen; padding: 10px; } .tall { height: 100px; } ``` :::
Nhiệm vụ của bạn
Review the CSS Flexbox topics and concepts.
Vượt qua bài kiểm tra hiện tại để mở khóa bài tiếp theo.
main.html
UTF-8 • Tab Size: 2Kiểm tra bài:⌘↵
Test Output
Thử thách này không có bài test tự động. Hãy quan sát kết quả trực tiếp ở khung Preview.