*ํ๋ ์ค ๋ฐ์ค ๋ ์ด์์์ด๋?
ํ๋ ์ค ๋ฐ์ค ๋ ์ด์์์ด๋ ๊ทธ๋ฆฌ๋ ๋ ์ด์์์ ๊ธฐ๋ณธ์ผ๋ก ํด ํ๋ ์ค ๋ฐ์ค๋ฅผ ์ํ๋ ์์น์ ๋ฐฐ์นํ๋ ๊ฒ์ด๋ค. ์ด ํ๋ ์ค ๋ฐ์ค๋ฅผ ์ด์ฉํ๋ฉด ์ฌ์ ๊ณต๊ฐ์ ๋ฐ๋ผ ๋๋น๋ ๋์ด, ์์น๋ฅผ ์์ ๋กญ๊ฒ ๋ณํํ ์ ์๋ค. ๋ฐ๋ผ์ ํ๋ฉด ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ ์ด์์์ ๋ฐฐ์น๋ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํด์ผ ํ ๋ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
โ
โ
โ
*display ์์ฑ - ํ๋ ์ค ์ปจํ ์ด๋ ์ง์ ํ๊ธฐ
ํ๋ ์ค ๋ฐ์ค ๋ ์ด์์์ ๋ง๋ค๋ ค๋ฉด ๋จผ์ ์น ์ฝํ ์ธ ๋ฅผ ํ๋ ์ค ์ปจํ ์ด๋๋ก ๋ฌถ์ด ์ฃผ์ด์ผ ํ๋ค. ์ฆ, ๋ฐฐ์นํ๋ ค๋ ์น ์์๋ค์ด ์๋ค๋ฉด ๊ทธ ์์๋ค์ ๊ฐ์ธ๋ ๋ถ๋ชจ ์์๋ฅผ ๋ง๋ค๊ณ ๊ทธ ๋ถ๋ชจ ์์๋ฅผ ํ๋ ์ค ์ปจํ ์ด๋๋ก ๋ง๋ค์ด์ผ ํ๋ค. ์ด ๋ ํน์ ์์๊ฐ ํ๋ ์ค ์ปจํ ์ด๋๋ก ๋์ํ๋ ค๋ฉด display ์์ฑ์ ์ด์ฉํด ํ๋ ์ค ๋ฐ์ค ํํ๋ฅผ ์ง์ ํด์ผ ํ๋ค.
โ
<style>
#container {
display:flex;
}
</style>
<div id="container">
<div></div>
<div></div>
</div>
โ
โ
*display ์์ฑ๊ณผ ๋ธ๋ผ์ฐ์ ์ ๋์ฌ
ํ๋ ์ค ๋ฐ์ค ๋ ์ด์์์ ์ต์ ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์์๋ ๋ชจ๋ ์ง์๋๊ณ ๋๋ถ๋ถ์ ๊ตฌ์ ๋ฒ์ ์์๋ ์ง์๋๋ค.
ํ์ง๋ง ๋ธ๋ผ์ฐ์ ๋ง๋ค ํ๋ ์ค ๋ฐ์ค๋ฅผ ์ง์ํ๋ ๋ฐฉ๋ฒ์ด ๋ฌ๋ผ ๋ธ๋ผ์ฐ์ ์ ๋์ฌ๋ฅผ ๋ถ์ฌ์ผ ํ๋ค. ํนํ ํ๋ ์ค ์ปจํ ์ด๋๋ฅผ ์ง์ ํ๋ display ์์ฑ์ ๊ฒฝ์ฐ, ์ ๋์ฌ๊ฐ ์๋นํ ๋ณต์กํ๋ค. ๋ธ๋ผ์ฐ์ ๋ฒ์ ์ ๋ฐ๋ผ ๋ค์๊ณผ ๊ฐ์ด ๋ธ๋ผ์ฐ์ ์ ๋์ฌ๋ฅผ ๋ถ์ฌ ํ์ํ๋ค.
โ
.wrapper {
display: -webkit-box; /* iOS 6 ์ดํ, ์ฌํ๋ฆฌ 3.1 */
display: -moz-box; /* ํ์ด์ดํญ์ค 19 ์ดํ */
display: -ms-flexbox; /* IE 10 */
display: -webkit-flex; /* ์นํท ๊ตฌ ๋ฒ์ */
display: flex; /* ํ์ค ์คํ */
}
โ
โ
*flex-direction ์์ฑ - ํ๋ ์ค ๋ฐฉํฅ ์ง์ ํ๊ธฐ
ํ๋ ์ค ์ปจํ ์ด๋๋ฅผ ์ง์ ํ๋ค๋ฉด ํ๋ ์ค ํญ๋ชฉ์ ๋ฐฐ์นํ ๋ฐฉํฅ์ ์๋ ค ์ฃผ์ด์ผ ํ๋ค. flex-direction ์์ฑ์ ์ฌ์ฉํด ํ๋ ์ค ํญ๋ชฉ์ ์ฃผ์ถ์ ๊ฐ๋ก(row)๋ก ํ ์ง, ์ธ๋ก(column)๋ก ํ ์ง ์ง์ ํ๋ค. ๋ฐ๋ก ์ง์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ ๊ฐ์ธ row๋ก ์ธ์ํ๋ค.
โ
๊ธฐ๋ณธํ)
flex-direction: row | row-inverse | column | column-inverse |
์์ฑ ๊ฐ |
์ค๋ช |
row |
์ฃผ์ถ์ ๊ฐ๋ก๋ก ๊ต์ฐจ์ถ์ ์ธ๋ก๋ก ์ง์ ํ๋ค. ํ๋ ์ค ํญ๋ชฉ์ ์ฃผ์ถ ์์์ ์์ ๋์ ์ผ๋ก(์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก) ๋ฐฐ์น๋๋ค. |
row-inverse |
์ฃผ์ถ์ ๊ฐ๋ก๋ก ๊ต์ฐจ์ถ์ ์ธ๋ก๋ก ์ง์ ํ๋ค. ํ๋ ์ค ํญ๋ชฉ์ ์ฃผ์ถ ๋์ ์์ ์์์ ์ผ๋ก(์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก) ๋ฐฐ์น๋๋ค. |
column |
์ฃผ์ถ์ ์ธ๋ก๋ก ๊ต์ฐจ์ถ์ ๊ฐ๋ก๋ก ์ง์ ํ๋ค. ํ๋ ์ค ํญ๋ชฉ์ ์ฃผ์ถ ์์์ ์์ ๋์ ์ผ๋ก(์์ชฝ์์ ์๋์ชฝ์ผ๋ก) ๋ฐฐ์น๋๋ค. |
column-inverse |
์ฃผ์ถ์ ์ธ๋ก๋ก ๊ต์ฐจ์ถ์ ๊ฐ๋ก๋ก ์ง์ ํ๋ค. ํ๋ ์ค ํญ๋ชฉ์ ์ฃผ์ถ ๋์ ์์ ์์์ ์ผ๋ก(์๋์ชฝ์์ ์์ชฝ์ผ๋ก) ๋ฐฐ์น๋๋ค. |
<style>
#container {
display:flex; /* ๊ธฐ๋ณธ ๊ฐ row๋ก ํ๋ ์ค ์ปจํ
์ด๋ ์ง์ */
}
#container div {
width:200px;
border: 2px solid black;
background:#ccc;
}
</style>
<div id="container">
<div id="box1"><h2>1</h2></div> /* ํ๋ ์ค ํญ๋ชฉ๋ค */
<div id="box2"><h2>2</h2></div> /* ํ๋ ์ค ํญ๋ชฉ๋ค */
<div id="box3"><h2>3</h2></div> /* ํ๋ ์ค ํญ๋ชฉ๋ค */
</div>
<style>
#container
display: flex;
flex-direction: column;
}
</style>
โ
โ
*flex-wrap ์์ฑ - ํ๋ ์ค ํญ๋ชฉ์ ํ ์ค ๋๋ ์ฌ๋ฌ ์ค๋ก ๋ฐฐ์นํ๊ธฐ
๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ ์ค ํญ๋ชฉ๋ค์ ์ฃผ์ถ ๋ฐฉํฅ์ ๋ฐ๋ผ ํ ์ค๋ก ๋ฐฐ์น๋๋ค. ํ์ง๋ง flex-wrap ์์ฑ์ ์ฌ์ฉํ๋ฉด ํ๋ ์ค ํญ๋ชฉ์ ์ฌ๋ฌ ์ค์ ๊ฑธ์ณ ํ์ํ๋ค.
โ
๊ธฐ๋ณธํ)
flex-wrap: no-wrap | wrap | wrap-reverse |
์์ฑ ๊ฐ |
์ค๋ช |
no-wrap |
ํ๋ ์ค ํญ๋ชฉ๋ค์ ํ ์ค์ ํ์ํ๋ค. |
wrap |
ํ๋ ์ค ํญ๋ชฉ์ ์ฌ๋ฌ ์ค์ ํ์ํ๋ค. |
wrap-reverse |
ํ๋ ์ค ํญ๋ชฉ์ ์ฌ๋ฌ ์ค์ ํ์ํ๋ ๊ธฐ์กด ๋ฐฉํฅ๊ณผ ๋ฐ๋๋ก ๋ฐฐ์นํ๋ค. |
โ
<style>
#container {
display: flex;
flex-wrap: wrap;
}
</style>
<style>
#container {
display: flex;
flex-wrap: wrap-reverse;
}
</style>
โ
โ
*flex-flow ์์ฑ - ํ๋ ์ค ๋ฐฉํฅ๊ณผ ์ฌ๋ฌ ์ค์ ๋ฐฐ์น๋ฅผ ํ๊บผ๋ฒ์ ์ง์ ํ๊ธฐ
ํ๋ ์ค ๋ฐ์ค๋ฅผ ์ด์ฉํด ํญ๋ชฉ๋ค์ ๋ฐฐ์นํ ๋ ๊ธฐ๋ณธ์ด ๋๋ ๋ฐฉํฅ๊ณผ ์ฌ๋ฌ ์ค ๋ฐฐ์น ์ฌ๋ถ๋ flew-flow ์์ฑ์ ์ด์ฉํด ํ๊บผ๋ฒ์ ์ง์ ํ ์ ์๋ค. ์ด๋ ํ๋ ์ค ๋ฐฐ์น ๋ฐฉํฅ๊ณผ ์ฌ๋ฌ ์ค์ ๋ฐฐ์น ๋ฐฉ๋ฒ์ ๊ณต๋ฐฑ ๋ฌธ์๋ก ๊ตฌ๋ถํด ํ์ํ๋ค. ๊ธฐ๋ณธ ๊ฐ์ flew-flow:row no-wrap์ด๋ฉฐ ๋ค์๊ณผ ๊ฐ์ด ์ง์ ํ ์ ์๋ค.
โ
๊ธฐ๋ณธํ)
flex-flow: <ํ๋ ์ค ๋ฐฉํฅ> <ํ๋ ์ค ์ค ๋ฐฐ์น> |
โ
โ
*order ์์ฑ - ํ๋ ์ค ํญ๋ชฉ์ ๋ฐฐ์น ์์ ๋ฐ๊พธ๊ธฐ
ํ๋ ์ค ํญ๋ชฉ์ ์์ค ์ฝ๋์ ์ ๋ ฅํ ์์๋๋ก ์ฃผ์ถ์ ๋ฐ๋ผ ๋ฐฐ์น๋์ง๋ง order ์์ฑ์ ์ด์ฉํ๋ฉด ๋ฐฐ์น ์์๋ฅผ ๋ฐ๊ฟ ์ ์๋ค.
order ๊ฐ์ด 0์ด๋ผ๋ฉด ์์ค์ ์ ๋ ฅํ ์์๋๋ก ๋ฐฐ์น๋๊ณ order ๊ฐ์ ์ซ์๋ก ํ๋ฉด ๊ทธ ์์์ ๋ฐ๋ผ ๋ฐฐ์น๋๋ค. ์ด๋ order ์์ฑ์ ํ๋ ์ค ์ปจํ ์ด๋๊ฐ ์๋๋ผ ํ๋ ์ค ํญ๋ชฉ์์ ์ง์ ํด์ผ ํ๋ค.
โ
๊ธฐ๋ณธํ)
order : 0 | ์ซ์ |
<style>
#container {
display:flex;
}
#box1 {
order:2;
}
#box2 {
order:3;
}
#box3 {
order:1;
}
</style>
<div id="container">
<div id="box1"><h2>box1</h2></div>
<div id="box2"><h2>box2</h2></div>
<div id="box3"><h2>box3</h2></div>
</div>
โ
โ
*flex ์์ฑ - ํ๋ ์ค ํญ๋ชฉ ํฌ๊ธฐ ์กฐ์ ํ๊ธฐ
flex ์์ฑ์ ํ๋ ์ค ํญ๋ชฉ์ ๋๋น๋ฅผ ๋์ด๊ฑฐ๋ ์ค์ผ ์ ์๋๋ก ์ธ ๊ฐ์ง ๊ฐ์ ์ด์ฉํด ํ์ํ๋ค. ์ฒซ ๋ฒ์งธ ์ซ์๋ ๋๋ฆด ๋น์จ, ๋ ๋ฒ์งธ ์ซ์๋ ์ค์ผ ๋น์จ, ์ธ ๋ฒ์งธ ์ซ์๋ ๊ธฐ๋ณธ ๊ฐ์ด๋ค.
โ
๊ธฐ๋ณธํ)
flex : [<flex-grow> <flex-shrink> <flex-basis> | auto | initial |
์์ฑ ๊ฐ |
์ค๋ช |
<flex-grow> <flex-shrink> <flex-basis> |
ํ๋ ์ค ํญ๋ชฉ์ ๋๋น๋ฅผ ์ผ๋ง๋ ๋์ผ์ง ์ซ์๋ก ์ง์ ํ๋ค. |
ํ๋ ์ค ํญ๋ชฉ์ ๋๋น๋ฅผ ์ผ๋ง๋ ์ค์ผ์ง ์ซ์๋ก ์ง์ ํ๋ค. |
|
ํ๋ ์ค ํญ๋ชฉ์ ๊ธฐ๋ณธ ํฌ๊ธฐ๋ฅผ ์ง์ ํ๋ค. width ์์ฑ์ฒ๋ผ ๋๋น ๊ฐ์ ์ง์ ํ ์๋ ์๊ณ 0์ด๋ auto๋ฅผ ์ง์ ํ ์๋ ์๋ค. 0์ผ ๊ฒฝ์ฐ flex-grow์ flex-shrink์ ์ธ์ ๊ฐ์ ํจ๊ป ์ฌ์ฉํ๊ณ auto์ผ ๊ฒฝ์ฐ, ํ๋ ์ค ํญ๋ชฉ์ ๋๋น ๊ฐ์ ์ฌ์ฉํ๋ค. |
|
initial |
ํญ๋ชฉ์ width/height ๊ฐ์ ์ํด ํฌ๊ธฐ๊ฐ ๊ฒฐ์ ๋๋๋ฐ ํ๋ ์ค ์ปจํ ์ด๋์ ๊ณต๊ฐ์ด ๋ถ์กฑํ ๊ฒฝ์ฐ, ์ต์ ํฌ๊ธฐ๊น์ง ์ค์ธ๋ค. |
auto |
ํญ๋ชฉ์ width/height ๊ฐ์ ์ํด ํฌ๊ธฐ๊ฐ ๊ฒฐ์ ๋์ง๋ง ํ๋ ์ค ์ปจํ ์ด๋์ ๊ณต๊ฐ์ ๋ฐ๋ผ ๋์ด๊ฑฐ๋ ์ค์ธ๋ค. |
โ
'HTML5 & CSS3' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[HTML5 & CSS3] ๊ณผ์ (0) | 2021.02.15 |
---|---|
[HTML5 & CSS3] ํ๋ ์ค ๋ฐ์ค ํญ๋ชฉ ๋ฐฐ์น๋ฅผ ์ํ ์์ฑ๋ค (2) | 2021.02.15 |
[HTML5 & CSS3] ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํด ์น ๋ฌธ์ ๋ง๋ค๊ธฐ (0) | 2021.02.14 |
[HTML5 & CSS3] ๋ฏธ๋์ด ์ฟผ๋ฆฌ ์ดํดํ๊ธฐ (๋ฏธ์์ฑ) (0) | 2021.02.14 |
[HTML5 & CSS3] ๊ฐ๋ณ ๋ ์ด์์๊ณผ ๊ฐ๋ณ ์์ (0) | 2021.02.14 |
๋๊ธ