์ฐธ๊ณ ์๋ฃ
display : block;
display : inline-block;
display : inline;
block ์๋ฆฌ๋จผํธ๋ ์ข/์ฐ,์์์ผ๋ก ๋ค๋ฅธ ์๋ฆฌ๋จผํธ ๋ฐฐ์น๊ฐ ์ ๋จ!
ex) โผ๏ธ ............ ๋ค๋ฅธ ์์ ์์น ๋ถ๊ฐ๋ฅ ............
โผ๏ธ ............ ํ ์ค์ ํ ๊ฐ๋ง ............
โผ๏ธ ........... ๋ค๋ฅธ ์์ ์์น ๋ถ๊ฐ๋ฅ .............
inline์ ์ ๋์ ์ธ ์๋ฆฌ๋จผํธ๋ก height,width๋ฅผ ๊ฐ์ง ์ ์์!
ex) text
inline-block์ ์ ๋ ์์ฑ์ ํผํฉํ, ๋ธ๋ก ์์ฑ์ ๊ฐ์ง inline
์ด๋ค. height๊ณผ width ์์ฑ์ ๊ฐ์ง ์ ์์!
ex) โผ๏ธโผ๏ธโผ๏ธ
display : flex;
inline-block๋ ์์๋ค ์ฌ์ด์ ๊ณต๋ฐฑ์ด ์๊ธฐ๊ฑฐ๋ ๋ฐ์ํ ์น์ ์ ์ฐํ๊ฒ ์ ์ฉ๋๊ธฐ ์ด๋ ค์ด ๋ฌธ์ ์ ์ด ์๋ค. ์ด ์ ์ ๋ณด์ํ๊ธฐ ์ํด flex
๋๋ flexbox
๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ค.
.wrapper{
display: flex;
}
.box{
width: 200px;
height: 200px;
background: peru;
color : white
}
<body>
<div class="wrapper">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
</div>
</body>
box์์๋ค์ ์์น๋ฅผ ๋ฐ๊พธ๊ณ ์ถ์ ๋, ์์๋ค์ ์ง์ ์์ ๊ณ์ธต์ ์์ฑ์ด flex container์ฌ์ผ ํ๋ค!
์ด ๋ง์ ์ฆ, flex ์์ฑ์ ๊ฐ์ง ํ๊ทธ ๋ฐ๋ก ์๋์ ํ๊ทธ๋ค๋ง ์ ์ฉ๋๋ค๋ ๋ง!
โฒ ํ๋ ์ค ๋ฐ์ค์ ๊ตฌ์ฑ
โฒ (ํ๋ ์ค)๋ฐ์ค๋ฅผ ๊พธ๋ฉฐ์ค ์ ์๋ ์์ฑ๊ฐ
โฒ ์์ดํ ์ ์ง์ ํ๋ ์์ฑ๊ฐ
Flex-box์ ๋ฐฉํฅ์ main axis(ใ
ก)์ cross axis(ใ
ฃ)๊ฐ ์๋ค.
Flex-direction์ด row์ด๋ฉด ๋ฉ์ธ์ถ์ ๊ฐ๋ก, ํฌ๋ก์ค๋ ์ธ๋ก. ๋ฐ๋๋ก Column์ด๋ฉด ๋ฉ์ธ์ถ์ ์ธ๋ก, ํฌ๋ก์ค๋ ๊ฐ๋ก!!
(์๋๋ row์ผ๋์ ์ถ์ ๋ชจ์ต. column์ row๋ฅผ 90๋ ํ์ ํ ๊ฒ์ด๋ผ ์๊ฐํ๋ฉด ์ดํดํ๊ธฐ ์ฝ๋ค.)
Justify content๋ ๋ฉ์ธ์ถ์ ๋ด๋น. Align-items๋ ํฌ๋ก์ค์ถ์ ๋ด๋นํ๋ค.
- justify-content
- align-itmes / align-content
โฒ contents(์ปจํ ์ธ )๋ ์์ฑ๊ฐ ์ง์ ๋ฐฉ์์ด ๋์ผ
Justify content โ๏ธ
align-contents์์๋ ๋์ผํ ๋ฌธ๋ฒ ์ฌ์ฉ
align-items โ๏ธ
์ฐธ๊ณ ์๋ฃ : zoey-coding
Align content์ Align-items๋ ํฌ๋ก์ค์ถ์ ๋ด๋นํ๋ค!
align content
flex line์ ์ ๋ ฌํ๋ค.
flex-wrap:wrap;
์ ์ํ์ผ ๋ items๊ฐ์ line์ ํ๊ฐ์ ์กฐ์ ํ๋ค.
align-items
flex line์ ๊ธฐ์ค์ผ๋ก ์์ดํ
์ ์ ๋ ฌํ๋ค.
align-items๋ ํ ์ค์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๋ ๋ฐ๋ฉด, align-content๋ ๋ ์ค๋ถํฐ ์ฌ์ฉํ๋๋ฐ ์๋ฏธ๊ฐ ์๋ค.
์๋๋ flex-box์ ์์ดํ ์ ์ด์ฉํ ์ฝ๋์ด๋ค.
# HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<div class="container">
<div class="item item1">1</div>
<div class="item item2">2</div>
<div class="item item3">3</div>
</div>
</body>
</html>
# CSS
.container {
background: beige;
height: 100vh;
display: flex;
<flex-flow>
flex-direction: row; --1.
flex-wrap: nowrap; --2.
/*1๋ฒ 2๋ฒ์ ํฉ์ณ flex-flow๋ก ํ ์ค์ ์์ฑ ๊ฐ๋ฅ/
<์์ดํ
๋ฐฐ์น>
justify-content: space-between; /*main*/
align-items: baseline;
align-content: center;
}
row; ๊ฐ๋ก / column; ์ธ๋ก
wrap; ํ ์ค์ด ์ฐจ๋ฉด ๋ค์ ์ค๋ก ๋ด๋ ค๊ฐ / nowrap; ํ ์ค์ โฒ nowarpex) flex-flow: row nowrap;
ํ๋ฉด ๊ฐ๋ก ์์ญ์ ๊ฐ๋์ฐฌ ์ํ๋ก ๋์ด๋๋ ๋น์จ์ ์กฐ์
ex) 1๋ฒ ์์ดํ
์์ฑ๊ฐ์ด flex-grow: 1;๊ฒฝ์ฐ!
<div class="container">
<div class="item item1">1</div>
<div class="item item2">2</div>
<div class="item item3">3</div>
</div>
.item 1 { flex-grow: 1;} ๊ฒฝ์ฐ!
ํ๋ฉด ๊ฐ๋ก ๊ธธ์ด๋ฅผ ๊ฐ๋ ์ฑ์ฐ๊ณ ๊ฐ์ด ์ง์ ๋์ง ์์ item2์ item3์ ๋ณธ๋์ ์ฌ์ด์ฆ๋ฅผ ์ ์ง
ํ๋ฉด ๊ฐ๋ก ์์ญ์์ (ํ๋ฉด์ด ์ค์ด๋ฆ์ ๋ฐ๋ผ)์ค์ด๋๋ ๋น์จ์ ์กฐ์
ex) 1๋ฒ ์์ดํ
์์ฑ๊ฐ์ด flex-grow: 1;๊ฒฝ์ฐ!
<div class="container">
<div class="item item1">1</div>
<div class="item item2">2</div>
<div class="item item3">3</div>
</div>
.item 1 { flex-shrink: 2;}
.item 2 { flex-shrink: 1;}
.item 3 { flex-shrink: 1;} ๊ฒฝ์ฐ!
ํ๋ฉด ๊ฐ๋ก ๊ธธ์ด๊ฐ ์ค์ด๋ค๋ ๋น์จ์ด item1์ด 2๋งํผ, item2์ item3์ 1๋งํผ์ ๋น์จ๋ก ์ฌ์ด์ฆ ์ถ์
ํ๋ฉด ๊ฐ๋ก ์์ญ์์ ์ฐจ์งํ๋ ๋น์จ์ ํผ์ผํธ๋ก ์กฐ์
ex) 1๋ฒ ์์ดํ
์์ฑ๊ฐ์ด flex-grow: 1;๊ฒฝ์ฐ!
<div class="container">
<div class="item item1">1</div>
<div class="item item2">2</div>
<div class="item item3">3</div>
</div>
.item 1 { flex-shrink: 60%;}
.item 2 { flex-shrink: 30&;}
.item 3 { flex-shrink: 10%;} ๊ฒฝ์ฐ!
ํ๋ฉด ๊ฐ๋ก ์์ญ์ ์ฐจ์งํ๋ ๋น์จ์ด ๋๋ค.
align-self๋ ๋ฐ์ค ์์ฑ๊ฐ์ผ๋ก (align-content, align-items) ์์ดํ
๋ค์ ์์น๋ฅผ ๊ณจ๊ณ ๋ฃจ ์ธํ
ํ ํ ํ ์์ดํ
๋ง ๋ฐ๋ก ์์ง์ด๊ณ ์ถ๋ค๋ฉด align-self๋ฅผ ์ฌ์ฉํ๋ค.
html์์ ์์๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ด๋ ค์ด ๊ฒฝ์ฐ, order ํ๋กํผํฐ๋ฅผ ์ด์ฉํด ์์์ ๋ฐฐ์น์์๋ฅผ ๋ณ๊ฒฝํ๋ค!
Default๋ 0
์ผ๋ก ์ค๋ฅด์ฐจ์์ ํตํด ํฐ ์ ์ผ์๋ก ๋ค์ชฝ์ผ๋ก ๋ฐฐ์น๋จ
.child:nth-child(2) {
order: 1;
}
//html
<div class="child">1</div>
<div class="child">2</div>
<div class="child">3</div>
Flexbox Froggy ๊ฒ์: https://flexboxfroggy.com/
๐ Resources:
Material Design Color Tool:
https://material.io/resources/color/#...
CSS Tricks for Flexbox:
https://css-tricks.com/snippets/css/a...
MDN Float:
https://developer.mozilla.org/en-US/d...
MDN Flexbox:
https://developer.mozilla.org/en-US/d...