
๋ถํธ์คํธ๋ฉ? Twitter์์ ๊ฐ๋ฐํ HTML, CSS, JavaScript๋ก ์ด๋ฃจ์ด์ง ์คํ ์์ค ํ๋ ์์ํฌ ์ ๋๋ค. ์น ํ์ด์ง ๋ ์ด์์, ๋ฒํผ, ํผ, ํ์ดํฌ๊ทธ๋ํผ ๋ฑ์ ๋ค์ํ UI ์ปดํฌ๋ํธ๋ฅผ ์ฝ๊ฒ ๊ตฌํํ ์ ์์ต๋๋ค. ๋ฐ์ํ ์น ๋์์ธ์ ์ง์ํ๋ฏ๋ก ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์์๋ ์น ํ์ด์ง๊ฐ ์ ์ ํ๊ฒ ํ์๋ฉ๋๋ค. ์คํ ์์ค๋ก ๋ฐฐํฌ๋์ด ์์ผ๋ฉฐ, ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ถํธ์คํธ๋ฉ์ ์ด์ฉํ๋ฉด ๋น ๋ฅด๊ณ ์ฝ๊ฒ ๊น๋ํ๊ณ ๋ชจ๋ํ UI๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ํน์ง ๋ฐ์ํ ์น ๋์์ธ ์ง์ : ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์์๋ ์ ์ ํ๊ฒ ์น ํ์ด์ง๊ฐ ํ์๋๋๋ก ๋ฐ์ํ ์น ๋์์ธ์ ์ง์ํฉ๋๋ค. ๋ค์ํ UI ์ปดํฌ๋ํธ : ๋ ์ด์์, ๋ฒํผ, ํผ, ํ์ดํฌ๊ทธ๋ํผ ๋ฑ ๋ค์ํ UI ์ปดํฌ๋ํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฌ์ด ์ฌ์ฉ์ฑ : ๋ฌธ์์ ์์ ์ฝ๋๊ฐ ํ๋ถํ๊ฒ ์ ๊ณต๋์ด, ์ฝ๊ฒ..

๋ฐ์ํ ์น ๋์์ธ ๋ค์ํ ํฌ๊ธฐ์ ๋๋ฐ์ด์ค์์ ์ผ๊ด๋ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ๊ธฐ ์ํ ๋์์ธ ๋ฐฉ๋ฒ๋ก ์ ๋๋ค. ๊ทธ๋ฆฌ๋ ๋ ์ด์์, ํ๋ ์ค ๋ฐ์ค, ๋ฏธ๋์ด ์ฟผ๋ฆฌ ๋ฑ์ CSS ๊ธฐ์ ์ ์ฌ์ฉํฉ๋๋ค. ๋ฏธ๋์ด ์ฟผ๋ฆฌ ์ฌ์ดํธ์ ์ ์ํ๋ ๋ฏธ๋์ด ํ์ ๊ณผ ํน์ง, ํด์๋์ ๋ฐ๋ผ ๋ค๋ฅธ ์คํ์ผ ์์ฑ์ ์ ์ฉํ๋ ๊ธฐ์ ๋ทฐํฌํธ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์์ ์น ํ์ด์ง๋ฅผ ๋ณผ ๋, ์ค์ ํ๋ฉด์ ๋ณด์ด๋ ์์ญ์ ๋งํฉ๋๋ค. ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์์๋ ๋ทฐํฌํธ๊ฐ ๋ค์ํ ํฌ๊ธฐ๋ก ๋ํ๋ ์ ์์ผ๋ฏ๋ก, ์น ํ์ด์ง๊ฐ ๋ค์ํ ๋ทฐํฌํธ ํฌ๊ธฐ์ ๋์ํ ์ ์๋๋ก ๋ฐ์ํ ์น ๋์์ธ์ ๊ตฌํํด์ผ ํฉ๋๋ค. ๋ธ๋ผ์ฐ์ ์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ทฐํฌํธ๊ฐ ์ค์ ๋์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ธ๋ผ์ฐ์ ๋ง๋ค ๋ทฐํฌํธ์ ํฌ๊ธฐ๊ฐ ๋ค๋ฅผ ์ ์์ผ๋ฏ๋ก, ๋ทฐํฌํธ๋ฅผ ์ค์ ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. โ VS Code์์ ๋ง๋๋ ๊ธฐ๋ณธ ์ค์ ์ด์ ๊ฐ์ฅ ๋ง์ด..

๊ทธ๋ฆฌ๋ ๋ ์ด์์ ์น ํ์ด์ง์์ 2์ฐจ์ ๋ฐฉ์์ผ๋ก ๋ ์ด์์์ ์ค๊ณํ ์ ์๋๋ก ๊ณ ์๋ ์คํ์ผ ์ ๋๋ค. 2์ฐจ์ ๋ฐฉ์์ด๋ ๊ฐ๋ก(row)์ ์ธ๋ก(column)๋ฅผ ๊ฐ์ด ์ฌ์ฉํด ๋ ์ด์์์ ์ค๊ณํ๋ ๋ฐฉ์ ์ ๋๋ค. ๊ทธ๋ฆฌ๋ ๋ฐ์ค๋ '๊ทธ๋ฆฌ๋ ์ปจํ ์ด๋'์ '๊ทธ๋ฆฌ๋ ํญ๋ชฉ'์ผ๋ก ๊ตฌ์ฑ ๋ฉ๋๋ค. ๋ฐ์ํ ๋์์ธ์๋ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ์ ์์ผ๋ฉฐ, ๋ฏธ๋์ด ์ฟผ๋ฆฌ์ ํจ๊ป ์ฌ์ฉํ์ฌ ํ๋ฉด์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๊ฒฉ์์ ํฌ๊ธฐ์ ์์๋ค์ ๋ฐฐ์น๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๊ตฌ์ฑ ์์ ํ(row) : ๊ฐ๋ก์ค ์ด(column) : ์ธ๋ก์ค ๊ทธ๋ฆฌ๋ ์ : ํ๊ณผ ์ด์ด ๋ง๋ ์ด๋ฃจ์ด์ง๋ ํ๋์ ๊ณต๊ฐ ๊ทธ๋ฆฌ๋ ๊ฐญ : ๊ทธ๋ฆฌ๋ ์ ๊ณผ ๊ทธ๋ฆฌ๋ ์ ์ฌ์ด์ ๊ฐ๊ฒฉ ๊ทธ๋ฆฌ๋ ์์ดํ : ๊ทธ๋ฆฌ๋ ์ ์์์ ํํ๋๋ ์ปจํ ์ธ ๊ทธ๋ฆฌ๋ ์ปจํ ์ด๋ : ์ต์์ ๋ถ๋ชจ ์์ ๊ธฐ๋ณธ ์์ฑ display ์์ฑ ๊ทธ๋ฆฌ๋ ๋ ์ด..

ํ๋ ์ค ๋ฐ์ค ๋ ์ด์์์ 1์ฐจ์ ๋ฐฉ์์ผ๋ก ํจ๊ณผ์ ์ธ ๋ ์ด์์์ ์ค๊ณํ ์ ์๋๋ก ๊ณ ์๋ ์คํ์ผ ์ ๋๋ค. 1์ฐจ์ ๋ฐฉ์์ด๋, ๊ฐ๋ก(row) ํน์ ์ธ๋ก(column)์ค ํ ๋ฐฉํฅ์ผ๋ก๋ง ๋ ์ด์์์ ์ค๊ณํ๋ ๋ฐฉ์์ ๋งํฉ๋๋ค. ํ๋ ์ค ๋ฐ์ค ๋ ์ด์์ ๊ตฌ์ฑ์์ ์ฃผ์ถ(main axis) : ํ๋ ์ค ๋ฐ์ค์ ์งํ ๋ฐฉํฅ๊ณผ ์ํํ ์ถ์ ์๋ฏธ ๊ต์ฐจ์ถ(cross axis) : ์ฃผ์ถ๊ณผ ์์งํ ์ถ์ ์๋ฏธ ํ๋ ์ค ์ปจํ ์ด๋ : display ์์ฑ๊ฐ์ผ๋ก flex๋ inline-flex๊ฐ ์ ์ฉ๋ ์์๋ฅผ ์๋ฏธ ํ๋ ์ค ์์ดํ : ํ๋ ์ค ์ปจํ ์ด๋์ ์์ ๊ด๊ณ๋ฅผ ์ด๋ฃจ๋ ํ๊ทธ ๊ตฌ์ฑ ์์๋ฅผ ์๋ฏธ ๋ ์ด์์ ํ์ธ ๋ฐฉ๋ฒ ํ๋ ์ค ๋ฐ์ค ๋ ์ด์์์ ๊ธฐ๋ณธ ์์ฑ display ์์ฑ display: flex; / inline-flex; ๐ flex๋ ์ ์ฉ๋ ์์์ ๋ค์ ์..

๊ตฌ๊ธ ํฐํธ ์ ์ฉํ๊ธฐ ๐ต ๊ธ๊ผด์ ์์คํ ์ ๊ธฐ๋ณธ์ผ๋ก ์ค์น๋ ๊ฒ๋ ๋ง์ง๋ง ์ค๋ฌด์์๋ ์์คํ ์ ์๋ ๊ธ๊ผด์ด๋ฉด ์น ํฐํธ ๋ฐฉ์์ผ๋ก ์ถ๊ฐํด์ ์ฌ์ฉํฉ๋๋ค. https://fonts.google.com/ Google Fonts Making the web more beautiful, fast, and open through great typography fonts.google.com ๋๋ ํ ์คํฌ๋ฆฝํธ ํฐํธ ์ฌ์ฉ ํ๊ธฐ 1. CSS ํ์ผ ๋ด์์ ํฐํธ ํ์ผ ๊ฒฝ๋ก ์ง์ @import url('https://fonts.googleapis.com/css?family=Open+Sans'); 2. font-family ์์ฑ ์ง์ body { font-family: 'Open Sans', sans-serif; } ์์ด์ฝ ํฐํธ ์ฌ์ฉํ๊ธฐ ๐ต..

CSS ๋ณํ ํจ๊ณผ๋ ์์๋ฅผ ํ์ , ์ด๋, ํฌ๊ธฐ, ๊ธฐ์ธ๊ธฐ ์กฐ์ ๋ฑ์ ๋ณํ์ ์ ์ฉํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. transform ์์ฑ 2์ฐจ์ ์ขํ ์ด๋ํ๊ธฐ ๐ตtransform: translate() ํจ์๋ ์์๋ฅผ ํ์ฌ ์์น์์ ์ผ์ ๊ฑฐ๋ฆฌ๋งํผ ์ด๋ํ๊ณ ์ถ์ ๋ ์ฌ์ฉ ํฉ๋๋ค. translate(x, y) : x์ถ๊ณผ y์ถ์ ๋์์ ์ด๋ ํฉ๋๋ค. translateX() : x์ถ์ผ๋ก ์ด๋ ํฉ๋๋ค. translateY() : y์ถ์ผ๋ก ์ด๋ ํฉ๋๋ค. 2์ฐจ์ ํ๋ ๋๋ ์ถ์ํ๊ธฐ ๐ตtransform: scale() ํจ์๋ ์์๋ฅผ ํ๋ํ๊ฑฐ๋ ์ถ์ํ ์ ์์ต๋๋ค. transform: scaleX(n) : x์ถ ๋ฐฉํฅ์ผ๋ก n๋ฐฐ ํ๋ transform: scaleY(n) : y์ถ ๋ฐฉํฅ์ผ๋ก n๋ฐฐ ํ๋ transform: scale(n, n)..

์ ๋๋ฉ์ด์ ์์ฑ์ ์ ํ ํจ๊ณผ ์์ฑ๊ณผ ํจ๊ป CSS3์์ ์๋ก ์ถ๊ฐ๋๋๋ฐ, ์ ํ๋ณด๋ค ๋ ์ ํํ๊ณ ๋ถ๋๋ฝ๊ฒ ์ ์ด ๊ฐ๋ฅํฉ๋๋ค. ํค ํ๋ ์ ์ ์ํ๊ธฐ ์ ๋๋ฉ์ด์ ํค ํ๋ ์์ ์ ๋๋ฉ์ด์ ๋์์ ๊ตฌ์ฑํ๋ ๋จ๊ณ๋ค์ ์ ์ํ๋ ๊ฒ ์ ๋๋ค. ์์๊ฐ ์ด๋ค ์ํ์์(from) ์ด๋ค ์ํ๋ก ๋ณํ๋์ง(to)๋ฅผ ์ ์ ํฉ๋๋ค. @keyframes ํคํ๋ ์๋ช { from { } to { } } @keyframes ํคํ๋ ์๋ช { 0% { } 50% { } 100% { } } animation-name ์์ฑ animation-name ์์ฑ์ ํน์ ์์์์ ์ ์ฉํ ํค ํ๋ ์๋ช ์ ์ง์ ํฉ๋๋ค. animation-name: ํคํ๋ ์๋ช ; animation-duration ์์ฑ ์ ๋๋ฉ์ด์ ์ง์ ์๊ฐ ์ค์ animation-duration: ์ง์์๊ฐ;..

์ ํ? ์์(element)์ ์์ฑ(property)์ด ๋ณ๊ฒฝ๋ ๋๋ถ๋๋ฝ๊ฒ๋ณ๊ฒฝ๋๋ ํจ๊ณผ ์ ๊ณต ์) ์์์ ๋ฐฐ๊ฒฝ์์ด ๋ณ๊ฒฝ๋ ๋ ๋ฐ๋ก ๋ณ๊ฒฝ๋๋ ๊ฒ์ด ์๋๋ผ ์ผ์ ์๊ฐ์ด ์ง๋๋ฉด ์์ํ ๋ณ๊ฒฝ๋๋ ํจ๊ณผ๋ฅผ ์ค ์ ์์ต๋๋ค. ์ ํ ํจ๊ณผ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ญ๊ฐ ํ์ ํ ๋๋. ์ ํ ํจ๊ณผ ์ ์ฉํ ๊ฒฝ์ฐ ์๊น๋ณด๋ค ๋ถ๋๋ฌ์ด ๋๋ ํธ๋์ง์ ๊ณผ ์์ฑ transition-property : ํธ๋์ง์ ์ ๋์ ์ง์ transition-duration : ํธ๋์ง์ ์ ์คํํ ์๊ฐ ์ง์ transition-delay : ํธ๋์ง์ ์ ์ง์ฐ ์๊ฐ ์ง์ transition-timing-function : ํธ๋์ง์ ์ ์คํ ํํ ์ง์ transition : ์์ฑ ํ๊บผ๋ฒ์ ์ง์ ๐ ์ ํ ํจ๊ณผ๋ ๋ฐ๋์ transition-property ์์ฑ๊ณผ transition..

1๋ฒ - ๊ทธ๋ฆผ์ ํจ๊ณผ ์์ ์ด๋ฏธ์ง๋ฅผ CSS๋ง ์ฌ์ฉํด์ ์๋์ ์ด๋ฏธ์ง์ฒ๋ผ ํ์ ํ์ธ์. ์ด๋ฏธ์ง ํ ๋๋ฆฌ์ 1px์ง๋ฆฌ ํ์(#ccc) ์ค์ ์ ๊ทธ๋ฆฝ๋๋ค. border-radius ์์ฑ์ ์ฌ์ฉํด์ ์ฌ๊ฐํ์ ์ํ์ผ๋ก ๋ณ๊ฒฝ box-shadow ์์ฑ์ ์ฌ์ฉํด์ ์ด๋ฏธ์ง ์ฃผ๋ณ์ ๊ทธ๋ฆผ์ ํจ๊ณผ๋ฅผ ์ถ๊ฐ ํฉ๋๋ค. ๋ด๊ฐ ์์ฑํ ์ฝ๋ 2๋ฒ - ํ๋ฉด ๋ฐฐ์น ํ๊ทธ ์์ ํ๊ทธ 4๊ฐ์ ํ๊ทธ 1๊ฐ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ํด๋น ํ๋ฉด์ฒ๋ผ article ์์๋ฅผ ๊ฒฉ์ ํํ๋ก ๋ฐฐ์น ํ์ธ์. section์ ํญ์ 800px article์์์ ๋๋น 350px, ๋์ด 200px, ๋ง์ง๊ณผํจ๋ฉ 10px article์์์ border ๋ผ์ธ์ ๋๊ป 1px, ์์์ (#ccc) ์ค์ ์ ๊ทธ๋ฆฝ๋๋ค. ๋ด๊ฐ ์์ฑํ ์ฝ๋ ๊ฐ์์ง ์ฉํ ์ค๋นํ๊ธฐ ๊ฐ์์ง ์ง ๊ฐ์์ง๊ฐ ํธํ ์ด ..

โญ์์น ์์ฑ์ผ๋ก HTML ์์ ๋ฐฐ์น ์์น ์์ฑ์ ์์๋ฅผ ์๋์ ์ผ๋ก ๋๋ ์ ๋์ ์ผ๋ก ๋ฐฐ์นํ ์ ์์ต๋๋ค. postion ์์ฑ ๐ position์ ์์์ ์์น๋ฅผ ์ง์ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์์ฑ position ์์ฑ์ ์ง์ ํ๋ฉด top, right, bottom, left ์์ฑ์ ์ด์ฉํ์ฌ ์์์ ์์น๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค. ๊ฐ ์์ฑ์ ์์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ง์ ๋ ๊ฑฐ๋ฆฌ๋งํผ ์ด๋์ํต๋๋ค. position ์์ฑ๊ณผ ํจ๊ป ์ฌ์ฉ๋๋ ์์ฑ์ผ๋ก z-index๊ฐ ์์ต๋๋ค. z-index๋ ์์์ ์์ ์์๋ฅผ ์ง์ ํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ฐ์ด ๋์ ์๋ก ์์ ์์ด๊ฒ ๋ฉ๋๋ค. position ์์ฑ์ ๋ ์ด์์์ ๊ตฌ์ฑํ๋ ๋ฐ ๋งค์ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ํนํ absolute์ fixed ๊ฐ์ ์์๋ฅผ ์์ ๋กญ๊ฒ ๋ฐฐ์นํ ์ ์๋๋ก ๋์์ค๋๋ค. ๊ทธ๋ฌ๋ ์ด..