๐ Crucial : Media Queries, Focus on concept, flex Shorthand, flex-basis, grow, and shrink, align-items, flex-wrap, align-conteent and align-slef, justify-content, flex-direction
CSS Flexbox
โช ํ์ด์ง์ ์ฝํ ์ธ ์์ ์์ ์์ดํ ์ ๋ฐฐ์นํ๋ ๋ฐ ์ฌ์ฉ
โช ํ๋์ ์ปจํ ์ด๋ ์์์ ์์๋ค์ ๊ฐ๊ฐ ์ด๋ป๊ฒ ๋ฐฐ์ดํ ์ง์ ๋ํ ๋ ์ด์์์ ์ ์ฐํ๊ฒ ์กฐ์ข ํ ์ ์์
Flex-Direction
โ๏ธ display : flex - flexbox๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ ์์ฑํด์ค์ผํจ -> ์ปจํ ์ด๋ ์์ ์์๊ฐ flexbox์ ๊ท์น๋๋ก ์ ๋ ฌ๋จ
โช main-axis : flexbox์ ๊ธฐ๋ณธ์ถ(๊ฐ๋ก์ถ(์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ)์ ๊ธฐ๋ณธ์ถ์ผ๋ก ์ฌ์ฉ)
โช cross-axis : flexbox์ ๊ต์ฐจ์ถ(์ธ๋ก์ถ)
โ๏ธ flex-direction : ์ปจํ ์ด๋ ์์์ ๋ณธ์ถ ๋ฐฉํฅ์ ๊ฒฐ์ ํ๋ ์์ฑ, ๊ธฐ๋ณธ ๊ฐ์ row
โ row-reverse : ์ถ์ ๊ฐ๋ก์ถ ๊ทธ๋๋ก์ง๋ง ๋ฐฉํฅ์ด ๋ฐ๋๋ก(์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก) ์ ๋ ฌ
โ column : ์ธ๋ก์ถ(์ -> ํ ๋ฐฉํฅ)์ผ๋ก ์ ๋ ฌ
โ column-reverse : ์ธ๋ก์ถ(ํ -> ์ ๋ฐฉํฅ)์ผ๋ก ์ ๋ ฌ
Justify-Content
โ๏ธ justify-content : ์ฃผ์ถ์ ๊ธฐ์ค์ผ๋ก ์์์ ์ปจํ ์ธ ๋ฅผ ์ด๋ป๊ฒ ๋ฐฐ์นํ ์ง ๊ฒฐ์ ํ๋ ์์ฑ (์ฃผ์ถ์ ๋ฐฉํฅ์ด ์ค์ํจ)
โ flex-start : ๊ธฐ๋ณธ๊ฐ, ์ฃผ์ถ์ ๋ฐฉํฅ๋๋ก ์ ๋ ฌ๋จ(row๋ผ๋ฉด ์ผ์ชฝ ์ ๋ ฌ)
โ flex-end : ์ฃผ์ถ์ ๋ฐ๋ ๋ฐฉํฅ์์๋ถํฐ ์ ๋ ฌ๋จ(์ ๋ ฌ ์์๊ฐ ๋ฐ๋๋ ๊ฒ์ด ์๋, row๋ผ๋ฉด ์ค๋ฅธ์ชฝ ์ ๋ ฌ)
โ center : ์ฃผ์ถ์ ๊ฐ์ด๋ฐ ์ ๋ ฌ
โ space-between : ๋ฐ๊นฅ์ชฝ ์ฌ๋ฐฑ์ ๋ค ์์ ๊ณ ์์ ์ฌ์ด์ ๊ฐ๊ฒฉ์ ๋์ด ์ํ๋ก ์ ๋ ฌ(์์ ์ฌ์ด๊ฐ๊ฒฉ์ ๋ชจ๋ ๋์ผ)
โ space-around : ์์์ ๋ฐ๊นฅ์ชฝ์๋ ์ฌ๋ฐฑ์ ์ค์ ์์ ์ฌ์ด์ ๋ฐ๊นฅ์ ๊ฐ๊ฒฉ์ ๋์ด ์ํ๋ก ์ ๋ ฌ(๋ฐ๊นฅ์ชฝ ์ฌ๋ฐฑ์ ์ฌ์ด ์ฌ๋ฐฑ์ ์ ๋ฐ)
โ space-evenly : ๋ฐ๊นฅ์ชฝ๊ณผ ์์ชฝ์ ์ฌ๋ฐฑ์ ๊ฐ๊ฒฉ์ ๋ชจ๋ ๋์ผํ๊ฒ ๋ง๋ ์ํ๋ก ์ ๋ ฌ
Flex-Wrap
โ๏ธ flex-wrap : ์ฃผ์ถ์ด ์ํ์ผ ๋๋ ์๋ก์ด ํ์ ๋ง๋ค์ด ์์๋ฅผ ์ ๋ ฌํ๊ณ , ์์ง์ผ ๋๋ ์๋ก์ด ์ด์ ๋ง๋ค์ด ์์๋ฅผ ์ ๋ ฌ
โ wrap : ์ฃผ์ถ๊ณผ ๊ต์ฐจ์ถ์ ๋ฐฉํฅ๋๋ก ์ ๋ ฌ
โ wrap-reverse : ์ฃผ์ถ์ ๋ฐฉํฅ๋๋ก ์ ๋ ฌ๋์ง๋ง ๊ต์ฐจ์ถ์ด ๋ฐ๋๋ก ์ค์ ๋์ด ์ ๋ ฌ๋จ
โ none : ๋ค์ ํ์ด๋ ์ด๋ก ๋์ด๊ฐ์ง ์์ \
Align-Items
โ๏ธ align-items : ๊ต์ฐจ์ถ์ ๋ฐ๋ผ ์์ดํ ์ ๋ฐฐ์ดํจ
โ flex-start : ๊ธฐ๋ณธ๊ฐ, ๊ต์ฐจ์ถ์ ๋ฐฉํฅ๋๋ก ์ ๋ ฌ๋จ (๊ต์ฐจ์ถ์ ์์์ ๋ถํฐ ์์)
โ flex-end : ๊ต์ฐจ์ถ์ ๋ฐ๋ ๋ฐฉํฅ์์๋ถํฐ ์ ๋ ฌ๋จ
โ center : ๊ต์ฐจ์ถ์ ๊ฐ์ด๋ฐ ์ ๋ ฌ
โ baseline : ํ ์คํธ์ ๊ธฐ์ค์ ์ ๋ง์ถฐ ์ ๋ ฌ
Align-Content & Align-Self
โ๏ธ align-content : ํ์ด๋ ์ด์ด ์ฌ๋ฌ๊ฐ์ผ ๋ ๊ต์ฐจ์ถ์ ๊ธฐ์ค์ผ๋ก ๊ฐ ์ด์ด๋ ํ ์ฌ์ด์ ๊ฐ๊ฒฉ ์กฐ์
-> wrap์ด๋ wrap-reverse๊ฐ ์ ์ฉ๋์์ ๋๋ง ์ฌ์ฉ๊ฐ๋ฅ
โ๏ธ align-self : align-content์ ๋น์ทํ์ง๋ง ๋จ์ผ ์์์ ์ ์ฉํ๊ฑฐ๋ ํ๋ ์ค ์ปจํ ์ด๋ ์์ ์์์ ์ ์ฉ(?)
-> ๊ฐ ์์ ์ค ํ๋๋ง ์์ง์ด๊ณ ์ถ์ ๋ ์ฌ์ฉ
Flex-basis, grow, and shrink
โ๏ธ flex-basis : ์์๊ฐ ๋ฐฐ์น๋๊ธฐ ์ ์ ์์์ ์ต์ด ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ (width๋ height๊ฐ ๋ฌด์๋จ, ์ด๊ฒ์ผ๋ก ๋๋น๋ ๋์ด๊ฐ ์ค์ ๋์ด๋ฒ๋ฆผ)
-> ์๋ํ๋ฉด flex-basis๋ ์ฃผ์ถ์ ๊ฑธ์ณ์๊ธฐ ๋๋ฌธ(์ฃผ์ถ์ ๋ฐฉํฅ์ ๋ฐ๋ผ row๋ฉด width, column์ด๋ฉด height๊ฐ ๋จ)
-> ๋ฌด์กฐ๊ฑด์ ์ผ๋ก ๊ธธ์ด๊ฐ ๋์ด๋๋ ๊ฒ์ด ์๋, ๊ณต๊ฐ์ด ์์ ๋๋ง ๋์ด๋๊ณ ์๋๋ผ๋ฉด ์ ๋นํ ๊ธธ์ด์์ ๋ฉ์ถค
โ๏ธ flex-grow : ๊ณต๊ฐ์ด ์์ ๋ ์์๊ฐ ๊ทธ ๊ณต๊ฐ์ ์ผ๋ง๋ ์ฐจ์งํ ์ง ๊ฒฐ์ (์ด๋ ์์์๋ ์ ์ฉ ๊ฐ๋ฅํจ)
-> ์ ์ ๋ ๋จ์๋ฅผ ์ ์ง ์์๋ ๋จ(๋น์จ์ด๊ธฐ ๋๋ฌธ), ์ค์ ํ ๋๋น๊ฐ ๋์ด ์๊ด์์ด ๋จ๋ ๊ณต๊ฐ์ ์ฐจ์งํ๋๋ก ๋ฐฐ์น๋จ
-> min-height, min-width(๋๋ max)๋ฅผ ์ค์ ํ๋ฉด ์ต์/์ต๋๋ฅผ ์ค์ ํ ์ ์์ด์ ๋์ด๋๊ฑฐ๋ ์ค์ด๋ค๋ ํ๊ณ๊ฐ ์ค์ ๋จ
โ๏ธ flex-shrink : ์ปจํ ์ด๋์ ์ถฉ๋ถํ ๊ณต๊ฐ์ด ์์ ๋ ์์๋ค์ด ์ค์ด๋๋ ๋น์จ์ ํต์ ํจ
-> ์ซ์๊ฐ ํด์๋ก ๋ ๋ง์ด ์ค์ด๋ฆ (๋น์จ์ด ์ ์ฉ๋๋ฉด์ ์ค์ด๋ฆ) , 0์ด๋ผ๋ฉด ์ ํ ์ค์ด๋ค์ง ์์
Flex Shorthand
โช ์์์ ์๊ฐํ 3๊ฐ์ ๊ฐ๋ค์ด ์์ฃผ ์ฐ์ด๋ค๋ณด๋ ์๊ธฐ๋ฒ(์ค์ฌ์)์ผ๋ก ์์ฑํ ์ ์์
h1{
flex : flex-grow | flex-shrink | flex-basis;
}
Responsive Design (๋ฐ์ํ)
: ๋ค์ํ ํ๋ฉด ํฌ๊ธฐ์ ๊ธฐ๊ธฐ์ ํน์ง์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๋ฐ์ํ๋๋ก ์นํ์ด์ง๋ฅผ ์ ์ํ๋ ๊ฒ
Media Queries (๋ฏธ๋์ด ์ฟผ๋ฆฌ)
: CSS์ ์คํ์ผ ์ํธ์์ ์์ฑํ ์ ์์, ํ๋ฉด ๋๋น๋ ๊ธฐ๊ธฐ ์ข ๋ฅ, ๊ธฐ๊ธฐ๊ฐ ์์ง์ด๋ ๋ฐฉํฅ์ ๋ง์ถฐ ์คํ์ผ์ ๋ณ๊ฒฝ
@media (min-width : 600px) and (max-width : 800px) {
.sidebar{
display : none;
}
}
-> ๊ดํธ ์์ ๋ค์ด๊ฐ๋ ์กฐ๊ฑด์ ๋ทฐํฌํธ ํ๋ฉด์ ๋ํ ์กฐ๊ฑด์
-> ๊ฐ์ฅ ๋์ค์ ์ ํ ์คํ์ผ์ด ์ ์ฉ๋๊ธฐ ๋๋ฌธ์ ์กฐ๊ฑด์ด ๊ฒน์น๊ฑฐ๋ ๋ ์์ ๋ฒ์๋ผ๋ฉด ์กฐ์ฌํด์ ์์ฑํด์ผํจ
-> ๋ณดํต min-width๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ ๊ฐ์
mediaQueries.css
body {
font-family: 'Open Sans', sans-serif;
}
h1 {
font-size: 6em;
text-align: center;
}
/* li๋ค์ nav ์ปจํ
์ด๋ ์์ ์๋๊ฒ ์๋๋ผ ul ์์ ์์ด์ a, ul๋ง ์ ๋ ฌ๋จ */
nav {
font-size: 1.5em;
display: flex;
justify-content: space-between;
}
ul,
li {
display: inline;
margin: 0;
padding: 0;
text-decoration: none;
}
/* ul์์ li๋ค ์ ๋ ฌ์ํค๊ธฐ */
ul {
border: 1px solid red;
flex: 1;
/*๋จ๋ ๊ณต๊ฐ ์ ๋ถ ์ฐจ์ง, ์ต๋์น๊ฐ ์ค์ ๋์์ผ๋๊น ์ ์ฒด์ 50% ์ฐจ์ง*/
max-width: 50%;
display: flex;
justify-content: space-evenly;
align-items: center;
}
@media (max-width : 768px) {
h1 {
font-size: 4em;
}
nav,
nav ul {
flex-direction: column;
align-items: center;
}
}
@media (max-width : 576px) {
h1 {
font-size: 3em;
}
}'๊ณต๋ถ ๊ธฐ๋ก > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| The Web Developer Bootcamp 2022 : [14] JavaScript ๊ธฐ์ด (0) | 2022.08.08 |
|---|---|
| [Udemy] The Web Developer Bootcamp 2022 : [11] ๊ฐ๊ฒฉํ ์ฝ๋ฉํ๊ธฐ (0) | 2022.07.19 |
| [Udemy] The Web Developer Bootcamp 2022 : [9] ์ ์ฉํ CSS ์์ฑ๋ค (0) | 2022.07.16 |
| [Udemy] The Web Developer Bootcamp 2022 : [8] CSS Box Model (0) | 2022.07.11 |
| [Udemy] The Web Developer Bootcamp 2022 : [7] CSS Selector (0) | 2022.07.11 |