CSS[ Cascading Style Sheet ]
HTML์ ๋ฌธ์ฅ์ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค๊ณ
CSS๋ ๋ฌธ์ฅ์ ๋ธ๋ผ์ฐ์ ์ ์ด๋ป๊ฒ ๋ณด์ฌ์ค์ง ์ง์ ํ๋ ์ธ์ด

๐ฉโ๐จCSS ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- HTML ์์์ Style ์์ฑ์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ - ์ธ๋ผ์ธ ์คํ์ผ

- style ํ๊ทธ๋ฅผ ํตํด HTML ๋ฌธ์ ๋ด๋ถ์์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ - ๋ด๋ถ ์คํ์ผ ์ํธ

- ๋ณ๋๋ก CSS ํ์ผ์ ๋ถ๋ฆฌํ์ฌ HTML์ ๋ฌธ์์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ - ์ธ๋ถ ์คํ์ผ ์ํธ



๐ฅ์คํ์ผ ์ ์ฉ์ ์ฐ์ ์์
โจ์ธ๋ผ์ธ ์คํ์ผ > ๋ด๋ถ ์คํ์ผ ์ํธ > ์ธ๋ถ ์คํ์ผ ์ํธ > ์น ๋ธ๋ผ์ฐ์ ๊ธฐ๋ณธ ์คํ์ผ
์ด๋ฌํ ์คํ์ผ ์ ์ฉ ๋ฐฉ๋ฒ๋ค์ด ํผํฉ๋์ด ์ฌ์ฉ๋ ๊ฒฝ์ฐ
๋ด๋ถ๋ ์ธ๋ถ ์คํ์ผ ์ํธ์ ์๊ด์์ด ๋ฌด์กฐ๊ฑด ์ธ๋ผ์ธ ์คํ์ผ์ด ์ ์ฉ๋จ๐
๐คCSS์ ๊ธฐ๋ณธ ๊ตฌ์กฐ


๐์ ํํํ๋ ๋ฐฉ๋ฒ





์ด๊ฑธ ๋ง๋ค์ด์ฃผ๋ ํด์ด ์์
๐์์น ๊ฐ์ ํํํ๋ ๋ฐฉ๋ฒ




em์ ์์์ ์๋ ์์ ๊ธฐ์ค์ผ๋ก, rem์ ์ต์์๊ฐ ๊ธฐ์ค๐คฉ
html ์ต์์์ ์๋ฌด๊ฒ๋ ์ง์ ์ ํ๋ฉด ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๋ณธ ๊ฐ์ธ 16px์ด ์ ์ฉ๋จโ

transition( ์ค๋ฌด์ค ํด์ง ) 3์ด๊ฐ ๋ค ๋ผ์ผ opacity: 0.7์ด ์ ์ฉ๋๋ ๊ฒ
active๋ ํด๋ฆญํ ๋ ์ ์ฉ

ease ~ ease-in-out์ ๋ง๋ค์ด์ ธ ์๋ ๊ฒ๋ค,
๋ฐ๋ก ๋ง๋ค์ด์ ์ปจํธ๋กคํ๊ณ ์ถ์ผ๋ฉด cubic-bezier ์ด์ฉํ๋ฉด ๋จ๐
๐ cubic-bezier ์ฌ์ดํธ
๐ฎ๊ฐ์ ํด๋์ค( ์์ฌ ํด๋์ค ) & ๊ฐ์ ์์( ์์ฌ ์์ )
- ๊ฐ์ ํด๋์ค : ๋ณ๋์ class ์ง์ ํ์ง ์์๋ ์ง์ ํ ๊ฒ์ฒ๋ผ ์์๋ฅผ ์ ํํ ์ ์์



- ๊ฐ์ ์์ : ๊ฐ์ ํด๋์ค์ฒ๋ผ ์ ํ์์ ์ถ๊ฐ๋๋ฉฐ,
์กด์ฌํ์ง ์๋ ์์๋ฅผ ์กด์ฌํ๋ ๊ฒ์ฒ๋ผ ๋ถ์ฌํ์ฌ ๋ฌธ์์ ํน์ ๋ถ๋ถ ์ ํ์ด ๊ฐ๋ฅ





Float & Clear
float : ์ปจํ
์ด๋์ ์ผ์ชฝ ๋๋ ์ค๋ฅธ์ชฝ์ ์์๋ฅผ ๋ฐฐ์นํ์ฌ
ํ
์คํธ ๋ฐ ์ธ๋ผ์ธ ์์๊ฐ ์ฃผ์๋ฅผ ๋๋ฌ์ ์ ์๋๋ก ํจ


float ํจ๊ณผ ์ง์๋ฒ๋ฆฌ๋ ๊ฒ์ด clear๐งน
float๊ฐ left์ด๋ฉด clear๋ ๋๊ฐ์ด left๋ก ํด์ค์ผํจ
์์ฆ์ ์น ํ์ด์ง์์ ๋ ์ด์์์ ๋ง๋ค๊ธฐ ์ํ
ํจ์ฌ ๊ฐ๋ ฅํ ๋๊ตฌ Flexbox ๋ฐ Grid๋ฅผ ์ฌ์ฉํจ๐
๐ฑโ๐คbox-shadow

์ฒซ๋ฒ์งธ 5px์ offset-x๋๊น +์ด๋ฏ๋ก ์ค๋ฅธ์ชฝ์ 5px ๊ทธ๋ฆผ์์ฃผ๊ณ
๋๋ฒ์งธ 5px์ offset-y๋๊น +์ด๋ฏ๋ก ์๋์ชฝ์ 5px ๊ทธ๋ฆผ์์ฃผ๊ณ
์ธ๋ฒ์งธ 10px์ blur ํจ๊ณผ ์ซ์ ๋๊ฒ ์ค์๋ก ๋ ํ๋ ค์ง ๊ฒ
๋ค๋ฒ์งธ ์์ rgba ์ฃผ๋๊ฑฐ์

Margin & Padding & Border( CSS Box Model )

๐ฆCSS Box Modelโก๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ HTML ์์๋ฅผ ๊ฐ์ธ๋ ์์
์ฌ๋ฐฑ, ํ
๋๋ฆฌ, ํจ๋ฉ ๋ฐ ์ค์ ์ฝํ
์ธ ๋ก ๊ตฌ์ฑ
โ์์๋ ๊ฐ๋ฅโญ
๋ง์งํ๊ณ ๋ค๋ฅธ ์ ์ ํจ๋ฉ์ ์์ ์ํฅโ


๐Text ์คํ์ผ๋ง

bold๋ 700( weight ), ๋ณดํต์ 400, semi-bold๋ 500
underline์ ๋ฐ์ค, none์ ์๊ฒ ํ๋ ๊ฒ

๐ Image

alt ์์ฑ์ ๋จ์ํ ์ด๋ฏธ์ง๊ฐ ๊นจ์ก์ ๋๋ง ์ฐ๋ ๊ฒ ์๋๋ผ,
์คํฌ๋ฆฐ ๋ฆฌ๋ ์ฌ์ฉ์์๊ฒ๋ ํฐ ๋์์ด ๋๋ ์ค์ํ ์์๐ฏ
โobject-fit
๐ ์ปจํ
์ด๋์ ๋ง๊ฒ img ๋๋ video ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ์ ์ง์ ํ๋ ๋ฐ ์ฌ์ฉ
- fill : ๊ธฐ๋ณธ ๊ฐ, ์ด๋ฏธ์ง๋ ์ฃผ์ด์ง ์น์๋ฅผ ์ฑ์ฐ๋๋ก ํฌ๊ธฐ๊ฐ ์กฐ์ ๋จ
ํ์ํ ๊ฒฝ์ฐ ์ด๋ฏธ์ง์ ๋ง๊ฒ ๋์ด๋๊ฑฐ๋ ์ฐ๊ทธ๋ฌ์ง

- contain : ์ด๋ฏธ์ง๋ ์ข
ํก๋น๋ฅผ ์ ์งํ๋ฉด์ ์ฃผ์ด์ง ์น์์ ๋ง๊ฒ ํฌ๊ธฐ๊ฐ ์กฐ์ ๋จ

- cover : ์ด๋ฏธ์ง๊ฐ ์ข
ํก๋น๋ฅผ ์ ์งํ์ง๋ง ์ฃผ์ด์ง ์น์๋ฅผ ์ฑ์, ์ด๋ฏธ์ง์ ๋ง๊ฒ ์๋ฆผ
cover ์งค๋ฆฐ ๋ถ๋ถ์์ ์ด๋ถ๋ถ ๋ง๊ณ ๋ค๋ฅธ ๋ถ๋ถ์ ์๋ฅด๊ณ ์ถ์ผ๋ฉด position์ ์ง์ ํด์ฃผ๋ฉด ๋จ
right๋ก ์ฃผ๋ฉด ์ผ์ชฝ๋ถ๋ถ ์ ๋ณด์ด๊ณ ์ค๋ฅธ์ชฝ ๋ถ๋ถ๋ง ๋ณด์ด๊ฒ ๋จ
- none : ์ด๋ฏธ์ง์ ํฌ๊ธฐ๊ฐ ์กฐ์ ๋์ง ์์
- scale-down : ์ด๋ฏธ์ง๊ฐ none ๋๋ ํฌํจ์ ๊ฐ์ฅ ์์ ๋ฒ์ ์ผ๋ก ์ถ์๋จ




- scale( ) : ์์์ ํฌ๊ธฐ์ ์ํฅ์ ์ค
์์์ ๊ธ๊ผด ํฌ๊ธฐ, ํจ๋ฉ, ๋์ด ๋ฐ ๋๋น์๋ ์ ์ฉ๋จ
scaleX ๋ฐ scaleY ํจ์์ ์์ ํจ์์ด๊ธฐ๋ ํจ
ํฌ๊ฒํ๊ณ ์๊ฒํ๋ ๊ฒ

- skewX( ) ๋ฐ skewY( ) : ์์๋ฅผ ์ผ์ชฝ ๋๋ ์ค๋ฅธ์ชฝ์ผ๋ก ๊ธฐ์ธ์
skew( )๋ ๋ ๊ฐ์ ๋ชจ๋ ์์ฉํ์ฌ skewX( )์ skewY( )๋ฅผ ๊ฒฐํฉํ ์ถ์ฝํ


- translate( ) : ์์๋ฅผ ์์ผ๋ก ๋๋ ์์๋๋ก ์ด๋ํจ

x, y์ถ ๊ฐ์ด ์ค์ ํด์ค์ ๋๊ฐ์ ์ผ๋ก ์ด๋ํ ๊ฒ
- rotate( ) : ์์๋ฅผ ํ์ฌ ์์น์์ ์๊ณ ๋ฐฉํฅ์ผ๋ก ํ์


- matrix( ) : ์์ผ๋ก ์์ฑํ๋๋ก ์๋๋ ๊ฒ์ ์๋์ง๋ง ๋ชจ๋ ๋ณํ์ ํ๋๋ก ๊ฒฐํฉํ๋ ํจ์
- perspective( ) : ์์ ์์ฒด์ ์ํฅ์ ๋ฏธ์น์ง ์์ง๋ง
ํ์ ์์์ 3D ๋ณํ์ ์ํฅ์ ๋ฏธ์น๋ฏ๋ก ๋ชจ๋ ์์๊ฐ ์ผ๊ด๋ ๊น์ด ๊ด์ ์ ๊ฐ์ง ์ ์์
๐บanimation CSS
๐ ์ฌ์ฉํ๋ ค๋ฉด ๋จผ์ ์ ๋๋ฉ์ด์
์ ๋ํ ๋ช ๊ฐ์ง keyframes ์ง์ ํด์ผํจ
โ
keyframe์ ํน์ ์๊ฐ์ ์์์ ์คํ์ผ์ ์ ์งํจ

@keyframes ์์ ์ด๋ฆํ๊ณ animation์ ์ด ํ๋กํผํฐ ์ด๋ฆํ๊ณ ๊ฐ์์ผํจโก
3s๋ 3์ด๊ฐ ๋์ ๋ 100% ๋ผ๋ ๊ฒ, 3์ด ์ดํ์ ๋ค์ 0%๋ก ๋์์์ ๋ 3s๋๋ฉด 100%๋ก๐
๐ ์ด๊ฑธ ์ผ๋ง๋ ๋ฐ๋ณตํ ๊ฑด์ง๋ infinite( ๋ฌดํ์ ) ์ด๋ถ๋ถ์ ํด๋น๋จ
div {
width: 100px;
height: 100px;
background-color: red;
position: relative;
// 2์ด ๋ค์ ์ ๋๋ฉ์ด์
์์๋จ
// linear->์ผ์ ํ๊ฒ, infinite->๋ฌดํ, alternate->์๊ณ๋ฐํฅ์ผ๋ก ํ๋ค๊ฐ ๋ฐ์๊ณ
animation: animationName 5s linear 2s infinite alternate;
}
@keyframes animationName {
0% {
background-color: lightblue;
left: 0px;
top: 0px;
}
25% {
background-color: lightcoral;
left: 150px;
top: 0px;
}
50% {
background-color: lightcyan;
left: 150px;
top: 150px;
}
75% {
background-color: lightgray;
left: 0px;
top: 150px;
}
100% {
background-color: lightgray;
left: 0px;
top: 0px;
}
}
โฌbackground-clip
์์ ๋ด์์ ๋ฐฐ๊ฒฝ( ์์ ๋๋ ์ด๋ฏธ์ง )์ด ํ์ฅ๋์ด์ผ ํ๋ ๊ฑฐ๋ฆฌ๋ฅผ ์๋ฏธ


border-box : ํ
๋๋ฆฌ & ์์ชฝ ์์ญ ๋ค ์ฑ์์ค( border ๊น์ง )
padding-box : ์์ชฝ ์์ญ ๋ถ๋ถ๋ง ์ฑ์์ค( padding ๊น์ง )
content-box : ์ปจํ
์ธ ๋ถ๋ถ๋ง ์ฑ์์ค( content ๊น์ง )