๐ปflex box๐ป
- display: flex
- flexiable box
- ๋ ์ด์์ ์์ฑํ ๋ ์ฌ์ฉํ๋ค.
- ๋ด๋ถ์ ์์๋ฅผ ๋ฐฐ์นํ๋ค.
- float + position + margin + padding
๐ถ๊ธฐ๋ณธ ์ํ(display: flex)
- ๋ฉ์ธ์ถ(์์ดํ ์ ๋์ดํ๋ ๋ฐฉํฅ) : ๊ฐ๋ก
- ์์ง์ถ(๋ฉ์ธ์ถ์ ์ง๊ฐ ๋ฐฉํฅ) : ์ธ๋ก
- ์์ดํ ๋๋น : ์์๋งํผ
- ์์ดํ ๋์ด : ๋ถ๋ชจ๋งํผ
๐ถ์์ฑ
1. flex-direction
- ์์ดํ ์ ๋ฐฐ์น ๋ฐฉํฅ์ ์ค์ ํ๋ค.
- ์ด๋ฐ์ ์ค์ ํ๋ค.
- row (๊ธฐ๋ณธ๊ฐ) : ํ์ ๋ฉ์ธ์ถ์ผ๋ก
- column : ์ด์ ์์ง์ถ์ผ๋ก
- flex-direction : row
2. flex-wrap
- ์๋ ์ค๋ฐ๊ฟ
- ์ ์ฌ์ฉํ์ง ์๋๋ค.
- flex-wrap: wrap (๊ธฐ๋ณธ๊ฐ)
flex ๊ด๋ จ ์์ฑ๋ช
1. justify-
๋ฉ์ธ์ถ ๋ฐฉํฅ
2. align-
: ์์ง์ถ ๋ฐฉํฅ
3. justify-content
- ๋ฉ์ธ์ถ ๋ฐฉํฅ์ผ๋ก ์์ดํ ์ ์ด๋ป๊ฒ ์ ๋ ฌํ ์ง ์ค์ ํ๋ค.
- fiex-start : ์ฃผ ์ถ์ ์์ ๋ถ๋ถ์ ์ ๋ ฌ
- flex-end : ์ฃผ ์ถ์ ๋ ๋ถ๋ถ์ ์ ๋ ฌ
- center : ์ฃผ ์ถ์ ๊ฐ์ด๋ฐ์ ์ ๋ ฌ
- space-between : ์ฒซ ๋ฒ์งธ ์์๋ ์์ ๋ถ๋ถ์, ๋ง์ง๋ง ์์๋ ๋ ๋ถ๋ถ์ ์ ๋ ฌ๋๋ฉฐ, ๋๋จธ์ง ์์ดํ ๋ค์ ๋์ผํ ๊ฐ๊ฒฉ์ผ๋ก ๋ถ์ฐ ๋ฐฐ์น๋๋ค.
- spcae-around : ์์๋ค์ ๊ท ๋ฑํ ๊ฐ๊ฒฉ์ผ๋ก ๋ถ์ฐ ๋ฐฐ์นํ๋ ์ ๋์๋ ๋ฐ ๊ฐ๊ฒฉ์ ๋๋ค.
- ๋งจ์, ๋งจ๋ค ๊ฐ๊ฒฉ์ ์์ ์ฌ์ด ๊ฐ๊ฒฉ์ ๋ฐ
- space-evenly : ๋ชจ๋ ๊ฐ๊ฒฉ์ ๋์ผํ๊ฒ ๋์ฐ๊ณ ์ ๋ ฌ
4. align-items
- ์์ง์ถ ๋ฐฉํฅ์ผ๋ก ์์ดํ ์ ์ด๋ป๊ฒ ์ ๋ ฌํ ์ง ์ค์ ํ๋ค.
- justify-content์ ๋ฐ๋
- stretch(๊ธฐ๋ณธ๊ฐ) : ์์๋ค์ ๋์ด๋ฅผ ๊ต์ฐจ ์ถ์ ๊ธธ์ด๋ก ๋๋ฆฐ๋ค.
- center : ๊ต์ฐจ ์ถ์ ๊ฐ์ด๋ฐ์ ์ ๋ ฌ
- flex-start : ๊ต์ฐจ ์ถ์ ์์ ๋ถ๋ถ์ ์ ๋ ฌ
- flex-end : ๊ต์ฐจ ์ถ์ ๋ ๋ถ๋ถ์ ์ ๋ ฌ
- baseline : ํ ์คํธ ๊ธฐ์ค์ ์ ์ ๋ ฌ
๋ฐฐ์น
[๊ณตํต ์ฝ๋]
<div id="box">
<div class="item">1. ๋ธ๊ธฐ</div>
<div class="item">2. ๋ฐ๋๋</div>
<div class="item">3. ํฌ๋</div>
<div class="item">4. ์ฌ๊ณผ</div>
<div class="item">5. ์๋ฐ</div>
</div>
<style>
#box .item:nth-child(1) {background-color: tomato;}
#box .item:nth-child(2) {background-color: orange;}
#box .item:nth-child(3) {background-color: gold;}
#box .item:nth-child(4) {background-color: greenyellow;}
#box .item:nth-child(5) {background-color: dodgerblue;}
</style>
1. display: inline
<style>
#box {
border: 10px solid black;
font-size: 0px;
}
#box .item {
display: inline;
font-size: 1rem;
}
</style>
2. ::after
<style>
#box {
border: 10px solid black;
}
/* ๋ถ๋ชจ๊ฐ ์์์ ์ธ์ํ๋๋ก ํ๋ค. */
#box::after {
content: '';
display: block;
clear: both;
}
#box .item {
float: left;
}
</style>
3. overflow: hidden
<style>
#box {
border: 10px solid black;
overflow: hidden; /* ์๋ #box::after ์ญํ ์ ํ๋ค.*/
}
#box .item {
float: left;
}
</style>
4. display: flex;
<style>
#box {
border: 10px solid black;
display: flex;
}
</style>
๐ปflex ์์ฑ๋ฐฐ์ฐ๊ธฐ๐ป
๊ฐ๊ตฌ๋ฆฌ ๊ฒ์
'WEB > CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CSS]css ํจ์ viewport-height, minmax, object-fit (0) | 2023.10.04 |
---|---|
[CSS] ์์ ๋ฐฐ์น : grid (0) | 2023.10.04 |
[CSS] ์ ๋๋ฉ์ด์ ํจ๊ณผ : animation (0) | 2023.10.04 |
[CSS] ์ ๋๋ฉ์ด์ ํจ๊ณผ : Transition, ์ ํ (0) | 2023.09.27 |
<div>, <nav> ์ฐจ์ด์ (0) | 2023.09.27 |