๐ธflex
โฑ๐ง under construction -> flow/writing direction
CSS โฉ layout โฉ display โฉ flex
ไปปไฝๅ
็ด ่จญๅฎ display: flex
ๅฐฑๆ่ฎๆ flexbox (flex container)๏ผ่ๅ
ถๅ
ง้จ็ๅญๅ
็ด ๆ่ฎๆ flex itemsใFlexbox ๆฏไธ็จฎไฝๅฑๆจกๅผ๏ผๅฏไปฅ่จญๅฎๅฎนๅจๅ
งๅ
็ด ็ๆ็ใๅฐ้ฝใ็ฉบ้ๅ้
็ญๆนๅผใ
่จญๅฎ flexbox ๅฎนๅจๅ งๅ ็ด ๆ็็ไธป่ปธใๅฏ่ปธ่ๅฐ้ฝๆนๅผใ
flex-direction
๏ผ่จญๅฎไธป่ปธๆนๅ๏ผ
row
๏ผ่จญๅฎๆฐดๅนณ็บไธป่ปธๆนๅ ใcolumn
๏ผ่จญๅฎๅ็ด็บไธป่ปธๆนๅ ใ
/* flex container */
.flexbox {
display: flex; /* ่จญๅฎ็บ Flex ๅฎนๅจ */
flex-direction: row; /* โญ ่จญๅฎไธป่ปธ๏ผๆฐดๅนณ(้ ่จญ) */
justify-content: space-around; /* ไธป่ปธๅฐ้ฝๆนๅผ๏ผๅๆฃ */
align-items: center; /* ๅฏ่ปธๅฐ้ฝๆนๅผ๏ผๅฑ
ไธญ */
}
justify-content
๏ผ่จญๅฎไธป่ปธ็ๅฐ้ฝๆนๅผใ
flex-start
,center
,flex-end
,space-between
,space-around
,space-evenly
.
/* flex container */
.flexbox {
display: flex; /* ่จญๅฎ็บ Flex ๅฎนๅจ */
flex-direction: row; /* ่จญๅฎไธป่ปธ๏ผๆฐดๅนณ(้ ่จญ) */
justify-content: space-around; /* โญ ไธป่ปธๅฐ้ฝๆนๅผ๏ผๅๆฃ */
align-items: center; /* ๅฏ่ปธๅฐ้ฝๆนๅผ๏ผๅฑ
ไธญ */
}
align-items
๏ผ่จญๅฎๅฏ่ปธ็ๅฐ้ฝๆนๅผใ
stretch
๏ผ่ฎๅญๅ ็ด ๆๆปฟๅฏ่ปธๆนๅ็็ฉบ้ (้ ่จญๅผ)ใflex-start
๏ผๅฐ้ฝๅฏ่ปธ็่ตทๅงไฝ็ฝฎใflex-end
๏ผๅฐ้ฝๅฏ่ปธ็็ตๆไฝ็ฝฎใcenter
๏ผๅจๅฏ่ปธไธๅฑ ไธญๅฐ้ฝใbaseline
๏ผๅฐ้ฝๆๅญๅบ็ทใ
/* flex container */
.flexbox {
display: flex; /* ่จญๅฎ็บ Flex ๅฎนๅจ */
flex-direction: row; /* ่จญๅฎไธป่ปธ๏ผๆฐดๅนณ(้ ่จญ) */
justify-content: space-around; /* ไธป่ปธๅฐ้ฝๆนๅผ๏ผๅๆฃ */
align-items: center; /* โญ ๅฏ่ปธๅฐ้ฝๆนๅผ๏ผๅฑ
ไธญ */
}
่จญๅฎ flexbox ๅฎนๅจๅ ง็็ฉบ้ๅ้ ๅ้ก๏ผ
ๆๅค้ค็ฉบ้ๆ๏ผๅญๅ ็ด ่ฉฒๅฆไฝๆดๅผต(ๆไธๆดๅผต)ใ
็ฉบ้ไธ่ถณๆ๏ผๅญๅ ็ด ่ฉฒๅฆไฝๅฃ็ธฎ(ๆไธๅฃ็ธฎ)ใ
flex-grow
๏ผ๐ง
/* CSS */
flex-shrink
๏ผ๐ง
/* CSS */
Flex items ๆไปฅไธ็ๅฑฌๆงๅฏไปฅ่จญๅฎ๏ผ
flex
๏ผ่จญๅฎๅญๅ ็ด ๅฏๅฆๆดๅฑใๅฃ็ธฎ๏ผ่ชๅทฑ็ๅฐบๅฏธ่ฉฒๅฆไฝๆฑบๅฎ็ญใflex-basis
๏ผ็จไพๅฎ็พฉๅญๅ ็ด ็ๅๅงๅฐบๅฏธใ
flex-grow
๏ผ๐ง
/* CSS */
flex-shrink
๏ผ๐ง
/* CSS */
๐ index.html
<!-- flexbox -->
<div class="flexbox">
<!-- flex items -->
<div class="item red">A</div>
<div class="item green">B<br>B</div>
<div class="item blue">C<br>C<br>C</div>
</div>
๐ styles.css
/* flexbox */
.flexbox {
display: flex; /* โญ๏ธ ่จญๅฎ็บ Flex ๅฎนๅจ */
flex-direction: row; /* ่จญๅฎไธป่ปธ๏ผๆฐดๅนณ(้ ่จญ) */
justify-content: space-around; /* ่จญๅฎไธป่ปธๅฐ้ฝ๏ผๅๆฃ */
align-items: center; /* ่จญๅฎๅฏ่ปธๅฐ้ฝ๏ผๅฑ
ไธญ */
}
/* flex items */
.item {
/* โญ๏ธ flex: grow shrink basis (shortcut) */
/* 0 = ไธ, 1 = ๅฏ */
flex: 0 0 auto; /* ไธๆดๅฑใไธๅฃ็ธฎใๅฐบๅฏธไพๅ
งๅฎนๆ่จญๅฎ */
flex: 0 1 auto; /* ไธๆดๅฑใๅฏๅฃ็ธฎใๅฐบๅฏธไพๅ
งๅฎนๆ่จญๅฎ */
flex: 1 0 auto; /* ๅฏๆดๅฑใไธๅฃ็ธฎใๅฐบๅฏธไพๅ
งๅฎนๆ่จญๅฎ */
flex: 1 1 auto; /* ๅฏๆดๅฑใๅฏๅฃ็ธฎใๅฐบๅฏธไพๅ
งๅฎนๆ่จญๅฎ */
/* โญ๏ธ flex-basis */
flex-basis: auto; /* ็ฑๅ
งๅฎนๆ CSS ๆฑบๅฎๅฐบๅฏธ */
}
/* ไปฅไธ็บ flex items ็ไธๅ่จญๅฎๆนๅผ */
.item {
flex-basis: auto;
width: 100px; /* โญ๏ธ ็ตๆ๏ผๅๅงๅฐบๅฏธ็บ 100px๏ผๅณไฝฟๅ
งๅฎนๅคงๅฐไธๅโ๏ธ */
}
.item {
flex-basis: 150px; /* ๅๅงๅฐบๅฏธๅบๅฎ็บ 150px */
}
.item {
flex-basis: content; /* โญ๏ธ ๆ นๆๅ
งๅฎนๆฑบๅฎ๏ผไธๅ่ width/heightโ๏ธ */
}
.item {
/* โญ๏ธ ๅๅงๅฐบๅฏธ่จญ็บ 0๏ผๅญๅ
็ด ๅฎๅ
จไพ่ณด flex-grow ไพๅ้
ๅฉ้ค็ฉบ้ */
flex-basis: 0; /* ๅๅงๅฐบๅฏธ่จญ็บ 0 */
flex-grow: 1; /* ๅนณๅๅ้
ๅฉ้ค็ฉบ้ */
}
Every Layout (2021)
ChatGPT โฉ ๅญธ็ฟ CSS ๆ็
ๅฏ็จ <select> ไพๅๆ ้ธๆ flexbox ็ๆ็ๆนๅผใ
ไธป่ปธ๏ผspace-around
, ๅฏ่ปธ๏ผcenter
flexbox (0.0.3) โญ
็จไธๆๅผ้ธๅฎ้ธๆ flexbox ็ๆ็ๆนๅผ
Last updated
Was this helpful?