๋ฉ์์ด ์ฌ์์ฒ๋ผ๐ฆ ํ๋ก ํธ์๋ ์ค์ฟจ 1๊ธฐ 2์ฃผ์ฐจ(์) ํ๊ณ - November 8, 2021.
์ค์ ์ ํ์ฌํ ๊ฐ์ฌ๋๊ป์ ์ด์ ์ ์ด์ด CSS flex
์ค๋ช
์ ํด์ฃผ์
จ๊ณ , grid
์์ฑ์ผ๋ก ๋์ด๊ฐ๋ค. grid
๋ ๋ด๊ฐ ์ฒ์ ์ ํ๋ ๊ฐ๋
์ด์ด์ ์ ๋ฒ ๊ธด์ฅํ๊ณ ๋ค์๋๋ฐ, ๋ง์ง๋ง ์ด๋ฏธ์ง ๋ฐฐ์น ์ค์ต์ด ์ฌ๋ฐ์๋ค. ๊ทธ๋๋ ๋ฐ๋ก๋ฐ๋ก ์์ฉํด์ ์จ๋จน์ผ๋ ค๋ฉด ๋ง์ ์ฐ์ต์ด ํ์ํ ๊ฒ ๊ฐ๋ค ๐
ํ๋ ์ค ๊ฐ๊ตฌ๋ฆฌ ๊ฐ์ ๊ทธ๋ฆฌ๋ ์ฐ์ต๋ ์์ผ๋ ๋งค์ผ ์ฐ์ตํด์ ์ต์ํด์ ธ์ผ๊ฒ ๋ค. ๐ฑ Grid Garden
์คํ์ ์ดํธ์ค ๊ฐ์ฌ๋๊ป ์ค์ต ์์ฃผ์ ์์
๊ณผ ํผ๊ฐ ๋๊ณ ์ด์ด ๋๋ ์กฐ์ธ๋ค์ ๋ง์ด ๋ค์๋ค.
์ ๋๋ฉ์ด์
์ค์ต์ด ๋๋ฌด ์ ๊ธฐํ๋๋ฐ ์ค์ํ๋ค๊ณ ์๊ฐํ ํฌ์ธํธ๋ฅผ ์๋์ ์ ๋ฆฌํด๋ณด์๋ค.
flex
, 2์ฐจ์ ๋ ์ด์์์ grid
!flex
์ grid
๋ container์ item๋ค์ด ํ์ํ๋ค.float
์ ์จ์ ๊ฐ๋จํ๊ฒ ๊ตฌํ๋๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.flex
์ float
๋ฅผ ๋ ๋ค ์ธ ์ ์๋ ์ํฉ์ด๋ฉด flex
๊ฐ ํจ์ฌ ๊ฐํธํ๋ค.flex
align-items
์ ๊ธฐ๋ณธ ๊ฐ์ stretch
. flex
๋ฐ์ค์ cross axis ๊ธธ์ด๋งํผ ์ญ ๋์ด๋๋ค.align-items
- ์ฌ๋ฌ ์ค์ผ ๋ ๊ฐ๊ฒฉ์ ์ ์งํ๊ณ ์ค๋ฐ๊ฟ ์ ๋ ฌํ๊ณ ,align-content
- ์ฌ๋ฌ ์ค์ผ ๋ ๊ฐ๊ฒฉ์ ๋ฌด์ํ๊ณ ์ค๋ฐ๊ฟ ์ ๋ ฌํ๋ค.flex-wrap
์ ์์ ์์๋ฅผ ๊ฐ์ธ์ฃผ๋ ๊ธฐ๋ฅ์ ํ๋ค.flex-basis
๋ ์์ ์์์ ์ฃผ๋ ์์ฑ์ด๋ค. main axis์ ๋ฐฉํฅ์ผ๋ก ์์์ ๋์ด๋ฅผ ์ ํ๋ค.flex-grow
์ flex-shirink
๋ ์๋ก ๋ฐ๋ ๊ฐ๋
์ธ๋ฐ, basis๋ณด๋ค ํฌ๊ธฐ๊ฐ ์ปค์ง๊ฒ ํน์ ์์์ง๊ฒ ํ ๊ฒ์ธ์ง๋ฅผ ๊ฒฐ์ ํ๋ค. 0,1,2 ๋ฑ์ ๊ฐ์ผ๋ก ๋ฐ๋๋ค./* flex: flex-grow, flex-shrink, flex-basis */
align-self
์์ฑ๊ณผ order
์์ฑ์ ๋ฐฐ์ ๋ค.align-self
๋ container์ align-items
์์ฑ์ ๋ฎ๋๋ค.align-items: flex-end;
์ฌ๋ ์์ดํ
๊ฐ๋ณ ํ ๊ฐ๋ง align-self: flex-start;
์ ์ฉ์ด ๊ฐ๋ฅํ๋ค!order
๊ฐ์ ์ฃผ๋ฉด ๋งํฌ์
์์๋ ๊ทธ๋๋ก์ง๋ง, ์๊ฐ์ ์ผ๋ก ๋ธ๋ผ์ฐ์ ๋ ๋๋ง ์์๊ฐ ๋ฐ๋๋ค.order
๋ ์์น๋ฅผ ์ง์ ํ๋ ๋ฒํธ๊ฐ ์๋๋ผ ์ฐ์ ์์๋ฅผ ๋ํ๋ธ๋ค. ์์๊ฐ๋ ๊ฐ๋ฅํ๋ค.flex
์์ฑ์ ์ค์ตํด ๋ณผ ์ ์๋ ์ฝ๋ํ ๋งํฌ! (1), (2)์ด์ flex
์์ฑ๋ค๋ ๋ค ๋ฐฐ์ ๊ฒ ๋ค, ์ด์ ๋ชปํ๊ณ ๋จ์ flexbox defense์ 11, 12๋ฒ์ ํด๊ฒฐํด๋ณด์๋ค!
order
์ align-self
์์ฑ์ ์ดํดํ๋ ๊ฐ๋จํ ํ๋ฆฌ๋ ๋ฌธ์ ๋ค์ด์๋ค.
๋ฐฐ์ด ๊ฒ์ ๋ฐ๋ก ์จ๋จน์ผ๋ ์ข๋ค :)
๋ํ์ค์ผ ์๋ฝ๐
grid
์ด ๊ทธ๋ฆผ์ ์ดํดํ๋ ๊ฒ์ด ์ค์ํ๋ค :)
grid-template-columns
- ์ด์ ๋์ด๋ฅผ ์ค์ grid-template-rows
- ํ์ ๋์ด๋ฅผ ์ค์ repeat
(๋ฐ๋ณตํ์, ๋ฐ๋ณต๊ฐ)์grid-template-columns: repeat(3, 1fr);
์ด๋ฐ ์์ผ๋ก ์ฐ์ด๋๋ฐ, ์ด๋ ๊ณงgrid-template-columns: 1fr 1fr 1fr;
๊ณผ ๊ฐ์ ๋ง์ด๋ค.fr
์ fraction์ด๋ผ๋ ๋ป์ผ๋ก, grid
์์๋ง ์ฐ์ด๋ ๋จ์๋ค.gap
- ํ๊ณผ ์ด ์ฌ์ด์ ๊ฐ๊ฒฉ์ ์ค์ fr
๋จ์๋ฅผ ์ฐ์ง ์๊ณ ํผ์ผํธ(%
)๋จ์๋ฅผ ์ฐ๊ฒ ๋๋ฉด ๊ฐญ ์์ญ์ ๋ฌด์ํ๊ณ ์คํฌ๋กค์ด ์๊ธธ ์ ์๋ค. grid-column: 1 / span 2;
/* grid 1๋ฒ๋ถํฐ ์์ํด์ 2"์นธ" ์ฐจ์ง */
grid-column: 1 / 3;
/* grid 1๋ฒ๋ถํฐ 3๋ฒ "๋ผ์ธ"๊น์ง ์ฐจ์ง */
animation
๋ง๋ณด๊ธฐ(https://ddooyn.github.io/front-end-school/class/083.html)
animation
ํจ๊ณผ๋ฅผ ๊ฐ์ฌ๋์ ๋ฐ๋ผ ๊ฐ์ด ์ค์ตํด๋ณด์๋ค.transform: translateY
๋ฅผ ์ฌ์ฉํด ์ง์
์ด๋ฆ ๋ฆฌ์คํธ๋ฅผ Y์ถ์ผ๋ก ๊ณ์ ์ด๋ํ๊ฒ ํ๊ณ ,<ul>
์ ๊ฐ์ธ๋ ๋ถ๋ชจ ๋ฐ์ค์ ์ ๋นํ ํฌ๊ธฐ๋ฅผ ์ ํด์ค ๋ค ๊ทธ ๋ฐ์ ๊ฒ๋ค์ ๋ณด์ด์ง ์๋๋ก overflow: hidden;
์ ์ธ::after
๋ฅผ ์ด์ฉํด box-shadow
์์ฑ์ inset
์ผ๋ก ๋ธ๋ฌ ํจ๊ณผ๋ฅผ ๋๋ค.box-shadow: inset 0 0 20px 20px #000;
4) ์ ๋๋ฉ์ด์
์ infinite
๋ฅผ ์ฃผ์์ ๋, ์ฒ์๊ณผ ๋์ ์ฐ๊ฒฐ์ด ์์ฐ์ค๋ฝ๋๋ก ์ ์ผ ์ฒ์์ ์ค๋ ๋ฆฌ์คํธ ํญ๋ชฉ์ ๋ง์ง๋ง์ ํ๋ฒ ๋ ์ ์ด์ฃผ๋ ๊ฒ์ด๋ค.ease-in-out
, ease-in
, ease-out
๋ฐฉ์ ๋ฟ ์๋๋ผ ์ํ๋ ๋๋ก ์ปค์คํฐ๋ง์ด์ง ํ ์ ์๋ค.1) https://developer.mozilla.org/ko/docs/Web/CSS/flex-basis
2) https://developer.mozilla.org/en-US/docs/Web/CSS/align-self
3) https://studiomeal.com/archives/533 grid ์ดํดํ๊ธฐ
4) https://developer.mozilla.org/ko/docs/Web/CSS/gap
5) https://developer.mozilla.org/ko/docs/Web/CSS/box-shadow
๊ฒํฐ๋๋ ๊ฒ(์ผ๋ฅด์ง ์์ ์ฌ๋๋ค์ ์ค)ํฐ๋๊ฐ ๋ถ๋ช
ํ๋ค.
ํ๋ฃจ ๋ถ๋ ์ ๋งํผ์ฉ์ด๋ฉด ํ ๋งํ๋ค! ๋ผ๊ณ ์๊ฐํ๋ ๋๋ ํ๋ฉด ํ ์๋ก HTML/CSS์ ๋ช์ ๋น ์ง๋ ๊ธฐ๋ถ์ด๋ค ๐ต ์ฝ๋ ์ค์ด ๊ธธ์ด์ง์ ๋ฐ๋ผ div๋ ์กฐ๊ธ์ฉ ์ฐ๊ธฐ ์์ํ๋ค ๐ฅ ๋งํฌ์
๋ถํฐ ๋ง์์ ์๋๋๋ฐ ์ง๊ธ ๊ฐ์์์๋ ์๊ฐ์ด ์์ด์ ๊ทธ๋ฅ ํ๋ฃจ ๋ชฉํ ๋ฌ์ฑํ๊ณ ์ต๋ํ ๋น์ทํ๊ฒ ๋ณด์ด๋ ๋ฐ ์์๋ฅผ ๋๊ธฐ๋ก ํ๋ค.
1์ฐจ ์ํฌ์ต ์ดํ 6์ผ๋ง์ ์๋์ค ์ฝ์น๋์ ๋ค์ ๋ต๋ค.
ํ๊ณ ๊ทธ๋ฃน 7๋ฒ๋ฐฉ ์ฌ๋๋ค๋ ๋ค์ ๋ง๋ฌ๋๋ฐ ๋ ๋ฒ์งธ ๋ง๋จ์ด๋ผ ๋ฐ๊ฐ์ ๋ค ๐
๊ณ์ ์ํฌ์ต ์คํ๋ ๋ ์ํธ์ ๋ด์ฉ์ ์ถ๊ฐํด๋๊ฐ๊ณ ์๋ค.
์ด๋ฒ ์ฃผ ๋ด๊ฐ ์ ํ ์ก์
ํ๋์ ๋ค์๊ณผ ๊ฐ๋ค.
๐ก 1์์ 1์ผ 1 TIL ์ ์ง
- ์ ์จ์ผ๊ฒ ๋ค๋ ๊ฐ๋ฐ์ ๋ฒ๋ฆฌ๊ณ
(๋น๊ณต๊ฐ๋ก ๋จผ์ ์ฌ๋ฆฌ๊ณ ๋ณต์ตํ ๋ ๋ด์ฉ ๋ณด์ถฉํด์ ์ฌ๋ฆฌ๋ ๋ฐฉ๋ฒ์ผ๋ก)- ๊ทธ๋ ๋ฐฐ์ด ๋ด์ฉ ๋ด๊ฐ ์ ์ดํดํ๊ธฐ ์ํด์!
๐ก 2์์ ์คํฐ๋ ๋ฅ๋์ ์ฐธ์ฌ
- ํ๋ฃจ ์ ํด์ง ๋ถ๋ ๊ผญ ํด๋ก ํ๊ธฐ
- ๋ค๋ฅธ ์ฌ๋์ด ์ง ์ฝ๋๋ฅผ ์ฝ๋ ๋ฅ๋ ฅ ํค์ฐ๊ธฐ
- ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํตํ ํผ๋๋ฐฑ ์ฃผ๊ณ ๋ฐ๊ธฐ
- ๋ด๊ฐ ์ง ์ฝ๋ ๊ฐ์ ํด์ ์ปค๋ฐ
๐ก 3์์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด ๊ณต๋ถ
- ์ฃผ๋ง๋ง ๊ฐ์ ์๊ฐํ ๊ฒ
- ํ ,์ผ์์ผ ํ๋ฃจ 2์๊ฐ ์ด์ ๊ณต๋ถ
- ํ์ผ์ ๋ฌด๋ฆฌํ์ง ์๊ธฐ
์ถ๊ฐ๋ก ๊ทธ๋ฃน ์ฐจ์์ ์ก์ ํ๋๋ ์ ํด๋ณด์๋๋ฐ, ์ฐ๋ฆฌ๋ ๋์ฝ ํ๊ณ ๊ทธ๋ฃน ์ฑ๋์
์ฃผ๋ง์ด ๋ฌด๋์ง์ง ์๋๋ก ์ด๋ ๊ฒ ์ฌํํ๋ฉด์๋ ์ข์ ํ๋์ด ๋์๋ค :)
๋ค์ ์คํ๋ฆฐํธ ํ๊ณ ๋๊น์ง ๋ ์ด์ฌํ ๋ฌ๋ ค๋ณผ ๊ฒ์ด๋ค ๐คญ
2์ฃผ์ฐจ์ ์ฒซ๋ ๋ โ
๋ณต์ตํ๊ณ , ํ์ตํ๋๋ฐ ๋๋ฌด ๋ง์ด ๋์๋์! ํญ์ ์ข์ TIL ๋๊ธฐ๋ถ์ฌ ๋ฐ์ต๋๋ค..! :) ๐๐ป