๐ปโโ๏ธ ๋ง๊ธ๋ง๊ธ ๋ง๊ธ์นผ๋ฆฌ
๐ํ์ด์ง๋ณด๋ฌ๊ฐ๊ธฐ ๐์ ์๊ธฐ๋ณด๋ฌ๊ฐ๊ธฐ
- ์กฐ์ฅ : ๊น๊ท๋ฏผ
- ์กฐ์ : ๊น๊ฑด์ฃผ, ๊น๋ณํ, ํ๋ค์
- ๊น๊ท๋ฏผ : ์คํฌ๋ผ ๋ง์คํฐ, ๋ก๊ทธ์ธ ํผ, ํ์๊ฐ์ ํผ, ์ ๊ทผ์ฑ ๊ฒํ
- ๊น๊ฑด์ฃผ : ๋ฉ์ธ์น์ , ๋ฒ ์คํธํ์ด์ง, ํน๊ฐ/ํํํ์ด์ง ๋ฉ์ธ์์ญ, ์ ๊ทผ์ฑ ๊ฒํ
- ๊น๋ณํ : ๊ณตํตํค๋, ๊ฒ์ ์์ง ์ต์ ํ, ์ฑ๋ฅ ํ ์คํธ
- ํ๋ค์ : ๊ณตํตํธํฐ, ์ต์ข ํ์ด์ง ์ธ๋ถ ๋ ์ด์์ ์กฐ์
- ๊ฐ์ ๋ด๋นํ ํํธ ํ๋ก์ ํธ ๊ธฐํ ๋ด ์๋ฃํ๊ธฐ
- ๊ณ ์ ํ ์์ ํ์ด์ง 4๊ฐ ๊ตฌํํ๊ธฐ
- ๋ฐ์ํ๊น์ง ๊ณ ๋ คํ ์ค๊ณ๋ณด๋ค ํ๋์ ํ์ด์ง๋ฅผ ์๋ฒฝํ๊ฒ ๋ง๋๋ ๊ฒ์ ์ด์ ๋๊ธฐ
- ๋ชฉํ ์๋ฃ ํ ์ต๋ํ ๋ง์ ํ์ด์ง ๊ตฌํํ๊ธฐ
- ์๋ก ๋์๊ฐ๋ฉฐ ๋ชจ๋ฅด๋ ๋ถ๋ถ์ ๋ฐ๋ก๋ฐ๋ก ๋ฌผ์ด๋ณด๋ฉฐ ์ํฌํธํด์ฃผ๊ธฐ
HTML
Sass
ํ์ ์์์ ํธ๋ฆฌํ ์์ ๋ฐ ์ฝ๋ ๊ฐ๋ ์ฑ์ ๋์ด๊ธฐ ์ํ ๋ฐฉ์์ผ๋ก์, CSS ์ฝ๋๋ฅผ ๋ชจ๋ํ ๋ฐ ์ฌ์ฌ์ฉํ๋ฉฐ ์์ ํ๊ธฐ ์ํด CSS ์ ์ฒ๋ฆฌ๊ธฐ์ธ Sass๋ฅผ ์ฌ์ฉํ์์ต๋๋ค.
๋ค์ํ ์์ฌ๋ฃ๋ถํฐ ๋ทฐํฐ ์ ํ๊น์ง ๋น ๋ฅธ ๋ฐฐ์ก์ผ๋ก ๋ฐ์๋ณผ ์ ์๋ ์จ๋ผ์ธ ์ผํ ์น ์ฌ์ดํธ
- ๊ณตํตํค๋ :
display: grid
๋ฅผ ํ์ฉํ์ฌ ํค๋ ์ ์ฒด ์์ญ์ ๋๋๊ณ ๊ฐ๊ฐ ์์๋ค์ ๋ฐฐ์นํ์์ต๋๋ค.- ๊ฒ์ํผ ์์
Button
์์๋ฅผ ์ถ๊ฐํ์ฌ ๊ฒ์ ๋ฒํผ์ ์ถ๊ฐํ์์ต๋๋ค. - ํค๋ ๋ด ๋ง๊ธ์นผ๋ฆฌ, ๋ทฐํฐ์นผ๋ฆฌ / ํ์๊ฐ์
, ๋ก๊ทธ์ธ, ๊ณ ๊ฐ์ผํฐ ์์๋ค์
ul
>li
ํ๊ทธ๋ก ๊ตฌ์ฑํ๊ณ ,display:flex
๋ฅผ ์ค ๋๋ํ ๋ฐฐ์นํ์์ต๋๋ค.
- ๊ณตํต๋ค๋น :
- ๋ด๋น๊ฒ์ด์
์น์
์ ๋ฉ์ธ ๋ฉ๋ด๋ฅผ
display:flex
๋ก ๋ฐฐ์นํ์์ต๋๋ค. - ๊ฐ๊ฐ ๋ฉ๋ด๋ณ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ฆฌ๋ฉด ๋ง๊ธ์นผ๋ฆฌ 'primary-color'๋ก ๋ณํ๊ฒ
hover
ํจ๊ณผ๋ฅผ ์ฃผ์์ต๋๋ค. - ์นดํ
๊ณ ๋ฆฌ์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ฆฌ๋ฉด ์ธ๋ถ ์นดํ
๊ณ ๋ฆฌ๊ฐ ํผ์ณ์ง๋๋ก
@mixin slideList
์ ๋ง๋ค์ด ์ฌ์ฉํ์๊ณ , nav ์์ญ ์๋์ ์ฌ๋ผ์ด๋ ๊ด๊ณ ์์ ์ธ๋ถ ์นดํ ๊ณ ๋ฆฌ๊ฐ ๋์ค๋๋กz-index:1
์ ์ฃผ์์ต๋๋ค. - ์ธ๋ถ ์นดํ
๊ณ ๋ฆฌ ๋ฆฌ์คํธ ์์น๋ฅผ ์กฐ์ ํ๊ธฐ ์ํด
position:absolute
๋ฅผ ์ค ์์น๋ฅผ ๊ณ ์ ์์ผฐ์ต๋๋ค. - ์ธ๋ถ ์นดํ ๊ณ ๋ฆฌ ๋ด ๋ฆฌ์คํธ๋ณ ์ด๋ฏธ์ง๋ฅผ ์ฝ์ ํ๊ธฐ ์ํด 'sprite' ์์๋ฅผ ํจ์๋ก ๋ง๋ค์ด ์ฌ์ฉํ์์ต๋๋ค.
- ๋ฉ์ธ์์ญ :
- ๋ฉ์ธํ์ด์ง์ ์ฌ๋ผ์ด๋ ๊ด๊ณ ํจ๊ณผ๋ฅผ ๋ฃ์ด์ฃผ๋ ค๊ณ
animation
ํจ๊ณผ๋ฅผ ์ฃผ์์ต๋๋ค. - ์ค์ ์๋ํ์ง๋ ์์ง๋ง ์ฌ์ฉ์๊ฐ ์ฌ๋ผ์ด๋ ๊ด๊ณ ๋ฅผ ๋ฉ์ถ๊ณ ์ถ์ ๋ ๋ฉ์ถ ์ ์๋๋ก ์ ์ง๋ฒํผ๋ ๊ตฌํํด๋์์ต๋๋ค.
- ๊ธ์์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ ธ๋์ง ๋์ผ๋ก ํ์ธํ ์ ์๊ฒ
hover
์ ๊ธ์์์ด ๋ณํ๊ฒ ๋ง๋ค์์ต๋๋ค. - ์กฐ๊ฑด ํํฐ ์นดํ
๊ณ ๋ฆฌ๋ฅผ
input type=checkbox
๋ก ํ์ฌ ํด๋ฆญ ์ ๋ฆฌ์คํธ๊ฐ ๋ด๋ ค์ฌ ์ ์๋๋กanimation
ํจ๊ณผ๋ฅผ ์ ์ฉํด์ฃผ์์ต๋๋ค. - ์ต๊ทผ ๋ณธ ์ํ ๋ชจ๋ฌ์ฐฝ์ ๋ง๋ค์ด
position: fixed
๋ฅผ ์ฃผ์ด ๋ธ๋ผ์ฐ์ ์ค๋ฅธ์ชฝ์ ๋ถ๊ฒ ๋ง๋ค์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฉ์ธ์์ญ ์์์๋ง ์์ง์ผ ์ ์๋๋ก ๋ฉ์ธ์์ญ ์ ์ฒด ์ปจํ ์ด๋์position: relative
๋ฅผ ์ฃผ์์ต๋๋ค. - ๋ง์ผ์ปฌ๋ฆฌ ํํ์ด์ง์ ๋์ผํ ํจ๊ณผ๋ฅผ ์ฃผ๊ณ ์ถ์ด ์ํ ์ด๋ฏธ์ง์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ ธ์ ๋ ์ด๋ฏธ์ง๊ฐ ์ด์ง ์ปค์ง๊ฒ ๋ง๋ค๋ ค๊ณ
transform: scale
์ ์ฃผ์์ต๋๋ค. - ์ฅ๋ฐ๊ตฌ๋ ์ด๋ฏธ์ง๋ฅผ ํด๋ฆญํ์ ๋ '์ํ์ด ์ฅ๋ฐ๊ตฌ๋์ ๋ด๊ฒผ์ต๋๋ค' ๋ผ๋ ์ ๋ณด๋ฅผ ์ฌ์ฉ์์๊ฒ ์๋ ค์ฃผ๊ณ ์ถ์ด ๋ชจ๋ฌ์ฐฝ์ ๋ง๋ค์ด์ฃผ์์ต๋๋ค.
- tab์ด๋ ์ ์์ฐ์ค๋ฝ๊ฒ ํํ์ด์ง์ ํ๋ฆ์ ์ฝ์ ์ ์๋๋ก ํค๋ณด๋๊ฐ ์ ๊ทผํ์ง ์๋ ๊ณณ์
tabindex="0"
, ์ฌ์ฉ์๊ฐ ์ดํดํ์ง ๋ชปํ ๊ฒ ๊ฐ์ ๊ณณ์aria-label=""
์ ์ถ๊ฐํ์๊ณ ์ฌ์ฉ์์๊ฒ ๋ถํ์ํ ์ ๋ณด๋aria-hidden="true"
๋ฅผ ์ฃผ์ด ์ ๊ทผ์ฑ์ ๋์ด๊ณ ์ ํ์ต๋๋ค.
- ๊ณตํตํธํฐ :
- ๊ฐ๊ฐ ์ ๋ชฉ์ธ ์นด์นด์คํก๋ฌธ์, 1:1๋ฌธ์, ๋๋์ฃผ๋ฌธ์ ๋ด์ฉ์ 2๊ฐ์ฉ ๋ฐฐ์นํ๊ธฐ ์ํด์ ์ ์ํ ๋ชฉ๋ก์ ๋ง๋ค์ด์ฃผ์์ต๋๋ค.
- ๋ค๋ชจ ๋ชจ์ ์์ ์นด์นด์คํก ๋ฌธ์,1:1๋ฌธ์,๋๋์ฃผ๋ฌธ ๊ธ์๊ฐ ๋ค์ด๊ฐ์ผ ํด์
width
์height
, ๊ทธ๋ฆฌ๊ณ@include marginY(28px)
๋ก ํฌ๊ธฐ์ ๋ฐฐ์น๋ฅผ ์ค์ ํ์์ต๋๋ค. - ๋ ์ด์์ ๋ฐฐ์น๋
display: flex
๋ฅผ ์ฌ์ฉํ์์ต๋๋ค. - ์ด๋ฉ์ผ ๋ฑ ๊ธ์๋ฅผ ๋ณด๋ผ์์ผ๋ก ํด์ผ ํ๋ ๊ฒ์
color: $primary_color
๋ก ์ค์ ํ์์ต๋๋ค.
- ๋ก๊ทธ์ธ / ํ์๊ฐ์ ํผ :
- ์ ๋ ฅ์ฐฝ์ ํฌ์ปค์ฑ ํ ๋ ํ ๋๋ฆฌ ์์ด ๋ฐ๋์ด ์ด๋ค ์ ๋ ฅ๋์ ํฌ์ปค์ฑํ๋์ง ํ์ธํ ์ ์๋๋ก ๋์์ธํ์ต๋๋ค.
radio/checkbox
์์์ ์์ด์ฝ์<span>
์์ +background
์์ฑ์ผ๋ก ์ถ๊ฐํ ํchecked
(์ฒดํฌ/์ฒดํฌํด์ ) ์ํ์ ๋ฐ๋ผ ์ด๋ฏธ์ง๊ฐ ๋ณ๊ฒฝ๋๋๋ก ๊ตฌํํ์ต๋๋ค.- ํ์๊ฐ์
ํ์ด์ง๋
display: flex
๋ก ๋ ์ด์์ ๊ตฌ์ฑ, ๋ก๊ทธ์ธํผ์fieldset
์ ์ฌ์ฉํ์ฌ ๋จ์ css๋ฅผ ๋ ์ด์์ ๊ตฌ์ฑํ์ต๋๋ค.
- ๊น๊ท๋ฏผ : ์ด๋ฒ ํ๋ก์ ํธ๋ก ํ์ ์ ์ฒ์์ผ๋ก ํด๋ดค๋๋ฐ ๋๋ฌด ์ฌ๋ฐ๊ฒ ์๊ฐ๊ฐ๋ ์ค ๋ชจ๋ฅด๊ณ ์ฐธ์ฌํ์ต๋๋ค! ์ ๋ ๋ก๊ทธ์ธ ํผ๊ณผ ํ์๊ฐ์ ํผ์ ๋ด๋นํ๋๋ฐ, ๋ช ๋ฒ ๋ง๋ค์ด๋ดค๋ ๋ก๊ทธ์ธ ํผ์ ์ฝ๊ฒ ๋ง๋ค์์ง๋ง ํ์๊ฐ์ ํผ์ ์ฝ์ง ์์์ง๋ง ๋ง์ด ์ฐพ์๋ณด๊ณ ํผ์ ๊ณต๋ถํ๋ ์๊ฐ์ ๊ฐ์ง ์ ์์์ต๋๋ค. ์ฝ๋ ์์ฑ๊ณผ ๋ณ๊ฐ๋ก ์กฐ์ฅ๊ณผ ์คํฌ๋ผ ๋ง์คํฐ ์ญํ ์ ์งํํ๋ฉด์ ์ ํฌ ๋ง๊ธ ์กฐ์๋ค์ด ํ์ ํด์ ์ด์ฉํ ๋ ์ด๋ ค์ํ๋ ๋ถ๋ถ์ ๋ํ ํด๊ฒฐ ๋ฐฉ์์ ์ฐพ์๋ณด๊ณ , ํด๊ฒฐํ๋ ๊ฒฝํ์ด ๋๋ฌด ์ฌ๋ฐ์๊ณ , ๋ค์ ํ๋ก์ ํธ์๋ ์คํฌ๋ผ ๋ง์คํฐ๋ฅผ ์งํํ๊ณ ์ถ๋ค๋ ์๊ฐ์ด ๋ค์์ต๋๋ค. ์ฃผ๋ง ํฌํจ 6์ผ ๋์ ๊ฐ์ด ๊ณ ์ํ์ ๋ง๊ธ7์กฐ ์กฐ์๋ถ๋ค ๊ฐ์ฌํ๊ณ ์๊ณ ํ์ จ์ต๋๋ค!!
- ๊น๊ฑด์ฃผ : ์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ํตํด ๋ถ๋ชจ์์์ ์์์์, ํ์ ๊ด๊ณ ๋ฑ ์์๋ค์ ๊ด๊ณ์ฑ์ ๋ํด ์๊ฐํ๊ณ ๋ฐฐ์ธ ์ ์์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ด๋ ค์ํ๋
transition
๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ๋ง์ ๊ฒ๋ค์ ๊ตฌํํ ์ ์๋ค๋ ์ ๋ ๋ฐฐ์ธ ์ ์์์ต๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์์ง ๋ชปํด ์ค๋ฌด์ฉ์ผ๋ก ์ฌ์ฉํ๋ ๊ธฐ์ ์ด ์๋ ๊ทธ์ ๋ ์ด์์ ๊ตฌํ์ฉ์ผ๋ก๋ง ํ๋ ์ ์ด ์์ฌ์์ ๋์ค์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋ฐฐ์์ ๊ทธ๋ถ๋ถ์ ์์ ํ๊ณ ์ถ์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก ๋ฉ์ฌ์ ๋ค์ด์จ ๊ฐ์ฅ ํฐ ์ด์ ์ธ ์กฐ์๋ค๊ณผ์ ํ์ ์ ํตํ ํ๋ก์ ํธ๋ฅผ ๋๋์ด ํด๋ณด์๊ณ ๋๋ฌด ์ข์ ๊ฒฝํ์ด ๋์์ต๋๋ค. ์ฌ๋๋ค๊ณผ ์ํตํ๋ ๊ฒ์ ์ด๋ ค์ํ๋ ์ ๋ก์จ๋ ๋ง์ ๋ํ๋ฅผ ํ ์ ์๋ ๊ฒฝํ์ด์๊ณ ๋ชจ๋ฅด๋ ๊ฒ์ ๊ณต์ ํ๊ณ ๋ฐฐ์์ผ๋ก์จ ํ๋ก์ ํธ ์์ ์ ๋ณด๋ค ์ฑ์ฅํ ์ ์ด ์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ํตํด ์ป์ ๊ฐ์ฅ ํฐ ์ฅ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
- ๊น๋ณํ : ์ข์๋ ์ ์ ๋ชฉํํ ๋ฒ์๋ฅผ ๊ธฐํ์ ๋ง์ถฐ ์๋ฃํ๋ค๋ ๋ฟ๋ฏํจ, ๋ฐ๋ก๋ฐ๋ก ๋ฌผ์ด๋ณผ๋๋ง๋ค ๊ฐ๋ฐ์ํค์ฒ๋ผ ๋ต์ ์๋ ค์ฃผ์ ์ ๋ ๋ ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์กฐ์ฅ๋์ ๋ฆฌ๋ฉ์ด ๋งค๋๋ฌ์ ๊ฐ๋ฑ์์ด ์ฒซ ํ๋ก์ ํธ๊ฐ ์๋ฃ๋์๊ณ ์ด๋ ๋๊ตฌ ํ๋ ํ๋ ํฐ๋ฅผ ์๋ด๊ณ ํฉ์ฌํ์ต๋๋ค. ์์ฌ์ ๋ ์ ์ ๊ธฐํ ๋ด ๋ฒ์ ์๋ฃ ํ ์ถ๊ฐ ํ์ด์ง๋ฅผ ์์ ํ๊ณ ์ถ์๋๋ฐ ๊ฑฐ๊ธฐ๊น์ง๋ ํ์ง ๋ชปํด์ ์์ฌ์ ์ต๋๋ค. ๋ Git ์ถฉ๋์ ํ๋ก์ ํธ ๋ง์ง๋ง์ ๊ฒฝํํด์ ๋ฏธ๋ฆฌ ๋ง์ด ์๊ฒช์ด๋ณธ ์์ฌ์์ด ์์๊ณ html/css๋ก๋ง ๊ตฌํํด์ผ ํ๋ค๋ ์๊ฐ์ด ์์๋์ ์ด ์์ฌ์ ์ต๋๋ค. ๋์ค์ ๊ตฌํํ๊ณ ์ถ์ ๋ถ๋ถ์ ๋ฐ์ํ๊ณผ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์นดํ ๊ณ ๋ฆฌ ๋ฆฌ์คํธ ๊ตฌํ, ์ถ๊ฐํ์ด์ง ๋ฑ ์ฌ๋ฌ๊ฒ์ ๋ ๋ง๋ค์ด๋ณด๊ณ ์ถ์ต๋๋ค.
- ํ๋ค์ : ๋ฐฐ์ด์ ์ sass ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์กฐ๊ธ ์๊ฒ ๋ ๊ฒ ๊ฐ๊ณ , ๋งํฌ์ ๊ณผ ์คํ์ผ ์ค์ , ๊ทธ๋ฆฌ๊ณ ๋ฐฐ์น์ ๋ํด ์กฐ๊ธ ๋ ๋ฐฐ์ด ๊ฒ ๊ฐ์ต๋๋ค. ๋๋์ ์ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ๋ง์ด ๋ถ์กฑํ๋ค๋ ์๊ฐ์ ํ๊ฒ ๋์๊ณ , ์ต์ํ์ง๋ ์์์ ๋๋ฆฌ๋ค๊ณ ๋๊ปด์ ธ์ ๋ง์ด ํด๋ณด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ์์ต๋๋ค. ๋ ๊ณต๋ถํด์ ๊ตฌํ์ ํ๊ฒ ๋๋ค๋ฉด ์ผ๋ถ ๋ฉ์ธ๋ถ๋ถ์ ์กฐ๊ธ์ฉ ๊ตฌํํด๋ณด๊ณ ์ถ์ต๋๋ค.