๐Ÿ”ธflex

โ•ฑ๐Ÿšง under construction -> flow/writing direction

CSS โŸฉ layout โŸฉ display โŸฉ flex

ไปปไฝ•ๅ…ƒ็ด ่จญๅฎš display: flex ๅฐฑๆœƒ่ฎŠๆˆ flexbox (flex container)๏ผŒ่€Œๅ…ถๅ…ง้ƒจ็š„ๅญๅ…ƒ็ด ๆœƒ่ฎŠๆˆ flex itemsใ€‚Flexbox ๆ˜ฏไธ€็จฎไฝˆๅฑ€ๆจกๅผ๏ผŒๅฏไปฅ่จญๅฎšๅฎนๅ™จๅ…งๅ…ƒ็ด ็š„ๆŽ’็‰ˆใ€ๅฐ้ฝŠใ€็ฉบ้–“ๅˆ†้…็ญ‰ๆ–นๅผใ€‚

๐Ÿ“ 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;      /* ๅนณๅ‡ๅˆ†้…ๅ‰ฉ้ค˜็ฉบ้–“ */
}

Last updated

Was this helpful?