๐กCSS?
- Cascading Style Sheets์ ์ฝ์
- HTML์ด ์น ํ์ด์ง์ ๊ตฌ์กฐ๋ฅผ ๋ด๋นํ๋ค๋ฉด, CSS๋ ๊ตฌ์กฐ์ ์ธ๋ถ์ ๋ด๋ถ๋ฅผ ๊พธ๋ฏธ๋ ์ญํ ์ ๋ด๋นํ๋ค.
- CSS๋ ์คํ์ผ๋ง์ ์ํ ๋๊ตฌ์ด๋ค.
CSS ๋ฐ๋ผํ๊ธฐ
CSS๋ก ๊ธฐ๋ณธ์ ์ธ ์คํ์ผ๋งํ๊ธฐ
- CSS๋ ์คํ์ผ๋ง ๋๊ตฌ์ด๋ฏ๋ก, ๋
๋ฆฝ์ ์ผ๋ก ๊ธฐ๋ฅํ์ง ์๋๋ค.
๋ฐ๋์ HTML์ด ์์ด์ผ๋ง ๋์ํ ์ ์๋ค.
- HTML ํ์ผ์ ๋ค์ํ ๊ตฌ์กฐ๋ฅผ ๋ํ๋ธ๋ค, ๊ทธ๋ฌ๋ HTML ํ์ผ์ ์คํํ๋๋ผ๋ ๊ตฌ์กฐ๊ฐ ๋์ ๋ณด์ด์ง ์์์ ํ์
ํ๊ธฐ ์ด๋ ค์ฐ๋ฏ๋ก, ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด CSSํ์ผ์ ์์ฑํด์ผํ๋ค.
- CSS๋ฅผ ์ด์ฉํด ๊พธ๋ฏธ๊ธฐ์ ์, ๊ฐ ์์ญ์ ๊ณ ์ ํ ์์์ ์ง์ ํ๋ฉด ๋์ ๋ณด์ด์ง ์๋ ์์ญ์ ๊ตฌ๋ถํ๊ธฐ ์ฝ๋ค.
CSS ํ์ผ ์ถ๊ฐ
<link re="stylesheet" href="index.css" />
- CSS ํ์ผ์ HTML ํ์ผ์ ์ฐ๊ฒฐํ ๋์๋,
link
ํ๊ทธ์์์href
์์ฑ์ ํตํด ํ์ผ์ ์ฐ๊ฒฐํด์ผํ๋ค.
link
ํ๊ทธ์ rel์ ์ฐ๊ฒฐํ๊ณ ์ํ๋ ํ์ผ์ ์ญํ ์ด๋ ํน์ง์ ๋ํ๋ธ๋ค.
- CSS๋ stylesheet์ด๋ฏ๋ก
rel
์์ฑ์stylesheet
์ ์ถ๊ฐํ๋ฉฐ, href
์์ฑ์๋ ํ์ผ์ ์์น๋ฅผ ์ถ๊ฐํด์ผํ๋ค.
- ์์ฑํ ๋ ํ์ผ์ ํ ํด๋ ๋ด์ ์์ผ๋ฏ๋ก ํ์ผ์ด๋ฆ๋ง ์
๋ ฅํ๋ฉฐ, ๋ค๋ฅธ ํด๋์ ํ์ผ์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ ์ ๋๊ฒฝ๋ก ๋๋ ์๋๊ฒฝ๋ก๋ฅผ ์
๋ ฅํ์ฌ ํ์ผ์ ์ฐพ์ ์ฐ๊ฒฐ
- CSS ์คํ์ผ์ ์ ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ 3๊ฐ์ง
- ๊ฐ์ ์ค์์ ์คํ์ผ์ ์ ์ฉํ๋ ์ธ๋ผ์ธ ์คํ์ผ
style
ํ๊ทธ๋ด์ ์์ฑํ๋ ๋ด๋ถ ์คํ์ผ ์ํธ
- ๋ณ๋์ CSSํ์ผ๋ก ๋ง๋๋ ์ธ๋ถ ์คํ์ผ ์ํธ
<nav style="background: #eee; color: blue">...</nav>
//CSS ์คํ์ผ ์ ์ฉ๋ฒ ์ค ์ธ๋ผ์ธ ์คํ์ผ
๊ธฐ๋ณธ์ ์ธ ์
๋ ํฐ(selector)
-
id๋ก ์ด๋ฆ ๋ถ์ฌ์ ์คํ์ผ๋ง ์ ์ฉํ๊ธฐ
-
class๋ก ์คํ์ผ์ ๋ถ๋ฅํ์ฌ ์ ์ฉํ๊ธฐ
-
id์ ์ ์ฌํ๊ฒ ํน์ ์์์ class๋ฅผ ์ง์ ํ๋ ๋ฐฉ๋ฒ๋ ์๋ค.
-
๋์ผํ ๊ธฐ๋ฅ์ ํ๋ CSS๋ฅผ ์ฌ๋ฌ ์์์ ์ ์ฉํ๊ธฐ ์ํด์ class๋ฅผ ์ฌ์ฉํ๋ค.
-
class๋ #
์ด ์๋ .
๊ธฐํธ๋ฅผ ์ด์ฉ
<ul>
<li class="menu-item">Home</li>
<li class="menu-item">Mac</li>
<li class="menu-item">iPhone</li>
<li class="menu-item">iPad</li>
</ul>
[ ์ฌ๋ฌ ์์์ ๊ฐ์ ์คํ์ผ๋ง์ ์ ์ฉํ๊ธฐ ์ํด์๋ class๋ฅผ ์ฌ์ฉํ๋ค. ]
.menu-item{
text-decoratio n : underline;
}
[ class menu-item์ ์ ํํ์ฌ ๋ฐ์ค์ ์ ์ฉํ๋ค.]
-
์ฌ๋ฌ ๊ฐ์ class๋ฅผ ํ๋์ ์๋ฆฌ๋จผํธ์ ์ ์ฉํ๊ธฐ
- ์ฌ๋ฌ class๋ฅผ ํ๋์ ์์์ ์ ์ฉํ๊ธฐ ์ํด์๋, ๊ณต๋ฐฑ์ผ๋ก ์ ์ฉํ๋ ค๋ class์ ์ด๋ฆ์ ๋ถ๋ฆฌํ๋ค.
โ
id์ class์ ์ฐจ์ด์
id | class |
---|
# ์ผ๋ก ์ ํ | . ์ผ๋ก ์ ํ |
ํ ๋ฌธ์์ ๋จ ํ๋์ ์์์๋ง ์ ์ฉ | ๋์ผํ ๊ฐ์ ๊ฐ๋ ์์ ๋ง์ |
ํน์ ์์์ ์ด๋ฆ์ ๋ถ์ด๋ ๋ฐ ์ฌ์ฉ | ์คํ์ผ์ ๋ถ๋ฅ(classification)์ ์ฌ์ฉ |
ํ
์คํธ๊พธ๋ฏธ๊ธฐ
์์
- ๊ธ์, ๋ฐฐ๊ฒฝ, ๋ฐ์คํ
๋๋ฆฌ ๋ฑ์ ์์์ ๋ณ๊ฒฝํ๋ ์์ฑ์
color
- ์์ฑ์ ์ฝ์
ํ ์ ์๋ ๊ฐ์, HEX ๋๋ ์ฃผ์ ์์์ ์ด๋ฆ์ ์ฌ์ฉํ ์ ์๋ค.
๊ธ๊ผด
- ๊ธ๊ผด์ ์์ฑ์
font-family
์ด๋ค.
- ๊ธ๊ผด์ ์ด๋ฆ์ ๋ฐ์ดํ๋ฅผ ๋ถ์ฌ์ ์ ์ฉ ๊ฐ๋ฅํ๋ค.
- ์ฌ์ฉํ๋ ค๋ ๊ธ๊ผด์ด ์กด์ฌํ์ง ์๊ฑฐ๋, ๋๋ฐ์ด์ค์ ๋ฐ๋ผ ์ง์ํ์ง ์์ ์ ์์ผ๋ฉฐ โ ์ด ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ fallback ๊ธ๊ผด ์ถ๊ฐ ๊ฐ๋ฅ
** fallback ์ ํํํ๊ณ ์ถ์ ๊ธ๊ผด์ด ์๊ฑฐ๋ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ๋ฅผ ์ํ ๋๋น์ฑ
์ผ๋ก, fallback ์ ์ํด ์ฌ๋ฌ ๊ธ๊ผด์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฝํ๋ก ๊ตฌ๋ถํ์ฌ ์
๋ ฅํ๋ฉด ์
๋ ฅ๋ ์์๋๋ก ์ ์ฉ๋จ
ํฌ๊ธฐ
- ๊ธ์์ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ํด์๋
font-size
์์ฑ์ ์ฌ์ฉํ๋ค.
- ์์์ผํ ๋ช ๊ฐ์ง ๋จ์
- ์ ๋ ๋จ์: px, pt ๋ฑ
- %, em, rem, ch, vw, vh ๋ฑ
- ๊ธ์์ ๋จ์๋ฅผ ์ ํ๋ ๋ฐฉ๋ฒ
- ๊ธฐ๊ธฐ๋ ๋ธ๋ผ์ฐ์ ์ฌ์ด์ฆ ๋ฑ์ ํ๊ฒฝ์ ์ํฅ์ ๋ฐ์ง ์๋ ์ ๋์ ์ธ ํฌ๊ธฐ๋ก ์ ํ๋ ๊ฒฝ์ฐ :
px
- ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ :
rem
- ๋ฐ์ํ ์น(responsive web)์์ ๊ธฐ์ค์ ์ ๋ง๋ค ๋ : ๋๋ฐ์ด์ค์ ๋ฐ๋ผ CSS ๋ฅผ ๋ฌ๋ฆฌ ์ ์ฉํด์ผ ํ๋ฉฐ ๋๋ฐ์ด์ค์ ํฌ๊ธฐ๋ฅผ ๋๋๋ ๊ธฐ์ค์
px
- ํ๋ฉด์ ๋๋น๋ ๋์ด์ ๋ฐ๋ฅธ ์๋์ ์ธ ํฌ๊ธฐ๊ฐ ์ค์ํ ๊ฒฝ์ฐ :
vw
, vh
๊ธฐํ ์คํ์ผ๋ง
- ์ถ๊ฐ์ ์ผ๋ก ํ
์คํธ๋ฅผ ๊พธ๋ฐ ๋ ์์ฃผ ์ฌ์ฉํ๋ ์์ฑ
- ๊ตต๊ธฐ :
font-weight
- ๋ฐ์ค, ๊ฐ๋ก์ค :
text-decoration
- ์๊ฐ :
letter-spacing
- ํ๊ฐ :
line-height
์ ๋ ฌ
[๊ทธ๋ฆผ] HTML ๋ฌธ์์ ๋ ์ด์์
- ๋ชจ๋ ์ฝํ
์ธ ๋ ๊ฐ์์ ์์ญ์ ๊ฐ์ง๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก ํ๋์ ์ฝํ
์ธ ๋ก ๋ฌถ์ด๋ ์๋ฆฌ๋จผํธ(์์)๋ค์ด ํ๋์ ๋ฐ์ค๊ฐ ๋๋ค.
- ๋ฐ์ค๋ ํญ์ ์ง์ฌ๊ฐํ์ด๊ณ , ๋๋น์ ๋์ด๋ฅผ ๊ฐ์ง๋ค.
- css๋ฅผ ์ด์ฉํด ์์ฑ๊ณผ ๊ฐ์ผ๋ก ๋ฐ์ค์ ํฌ๊ธฐ๋ฅผ ์ค์ ํ ์ ์๋ค.
p {
background: rgba(255, 84,104,0.3);
width: 80px;
heigth: 200px;
}
[์ฝ๋] CSS ์์
block VS inline,inline-block
- block ๋ฐ์ค
- ์ค๋ฐ๊ฟ์ด ๋๋ ๋ฐ์ค
- width, heigth ์์ฑ์ด ์ ์ฉ๋๋ค.
- ์ค๋ฐ๊ฟ์ด ๋๋ ํ๊ทธ:
<div>
, <p>
,<h1>
- inline ๋ฐ์ค
-
์ค๋ฐ๊ฟ์ด ์ผ์ด๋์ง ์๊ณ , ํฌ๊ธฐ ์ง์ ์ ํ ์ ์๋ ๋ฐ์ค
-
๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ๋ ๋๋น(widtd): ๊ธ์๊ฐ ์ฐจ์งํ๋ ๋งํผ
-
width, height ์์ฑ ์ ์ฉ ๋ถ๊ฐ๋ฅ
-
์ค๋ฐ๊ฟ์ด ๋์ง ์๋ ํ๊ทธ:<span>
span {
background: yellow;
display: inline-block;
width: 100px;
heigth: 100px;
}
//![์ฝ๋] CSS์์ span ํ๊ทธ์ 'display: inline-block'์ ์ถ๊ฐ//
- inline-block ๋ฐ์ค
- ์ค๋ฐ๊ฟ์ด ์ผ์ด๋์ง ์์ง๋ง, block ๋ฐ์ค์ ํน์ง์ ๊ฐ์ง๋ ๋ฐ์ค
- ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ๋ ๋๋น(witdh): ๊ธ์๊ฐ ์ฐจ์งํ๋ ๋งํผ
- width, height ์ฌ์ฉ ๊ฐ๋ฅ
- inline ๋ฐ์ค์ฒ๋ผ ๋ค๋ฅธ ์์์ ์์ผ๋ก ๋ถ์ผ๋ฉด์, ์์ฒด์ ์ผ๋ก ๊ณ ์ ์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๋ค.
| block | inline-block | inline |
---|
์ค๋ฐ๊ฟ ์ฌ๋ถ | ์ค๋ฐ๊ฟ์ด ์ผ์ด๋จ | ์ค๋ฐ๊ฟ์ด ์ผ์ด๋์ง ์์ | ์ค๋ฐ๊ฟ์ด ์ผ์ด๋์ง ์์ |
๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ๋ ๋๋น | 100% | ๊ธ์๊ฐ ์ฐจ์งํ๋ ๋งํผ | ๊ธ์๊ฐ ์ฐจ์งํ๋ ๋งํผ |
width,heigth ์ฌ์ฉ ๊ฐ๋ฅ์ฌ๋ถ | ๊ฐ๋ฅ | ๊ฐ๋ฅ | ๋ถ๊ฐ๋ฅ |
[ํ] block, inline-block, inline์ ํน์ง
๋ฐ์ค๋ฅผ ๊ตฌ์ฑํ๋ ์์

[๊ทธ๋ฆผ] border(ํ
๋๋ฆฌ)๋ฅผ ๊ธฐ์ค์ผ๋ก padding(์์ชฝ ์ฌ๋ฐฑ)๊ณผ margin(๋ฐ๊นฅ ์ฌ๋ฐฑ)์ด ์๋ค.
boder(ํ
๋๋ฆฌ)
- ๊ฐ ์์ญ์ด ์ฐจ์งํ๋ ํฌ๊ธฐ๋ฅผ ํ์
ํ๊ธฐ ์ํด, ๋ ์ด์์์ ๋ง๋ค๋ฉด์ ๊ทธ ํฌ๊ธฐ๋ฅผ ์๊ฐ์ ์ผ๋ก ํ์ธํ ์ ์๋๋ก ๋ง๋ ๋ค.
- border ์์ฑ์ ์ ์ฉ๋ ๊ฐ๊ฐ์ ๊ฐ์ ํ
๋๋ฆฌ ๋๊ป(
border-width
), ํ
๋๋ฆฌ ์คํ์ผ(border-style
), ํ
๋๋ฆฌ ์์(border-color
) ๋ฑ์ border ์์ฑ์ ์ถ๊ฐํ ์ ์๋ ์ธ๋ถ ์์ฑ์ด๋ค.
margin(์์ชฝ ์ฌ๋ฐฑ)
- ๊ฐ๊ฐ์ ๊ฐ์ top, right, bottom, left๋ก ์๊ณ ๋ฐฉํฅ์ด๋ค.(๊ฐ์ ๋ค ๊ฐ ๋ฃ์์ ๊ฒฝ์ฐ)
- ๊ฐ์ ๋ ๊ฐ ๋ฃ์ผ๋ฉด:
์์๋, ์ข์ฐ๋ก ๊ฐ๊ฐ ๊ฐ์ ๊ฐ์ด ์ ์ฉ๋๋ค.
- ๊ฐ์ ํ ๊ฐ ๋ฃ์ผ๋ฉด:
์ํ์ข์ฐ ๋ชจ๋ ๊ฐ์ ๊ฐ์ด ์ ์ฉ๋๋ค.
- margin์ ์ฃผํฉ์์ผ๋ก ํ์๋๋ฉฐ, ๊ฐ๋ฐ์ ๋๊ตฌ์ Elements ํญ์์ ์ด๋ป๊ฒ ์ ์ฉ๋๋์ง ํ์ธ ๊ฐ๋ฅํ๋ค.
- margin์ ์์น๋ฅผ ํน์ ํด ์ฌ๋ฐฑ์ ์ถ๊ฐํ ์ ์๋ค.
- ๋ฐ๊นฅ ์ฌ๋ฐฑ์๋ ์์๊ฐ์ ์ง์ ํ ์ ์๋ค
- ์ฌ๋ฐฑ์ ์์ ๊ฐ์ ์ง์ ํ๋ฉด ๋ค๋ฅธ ์๋ฆฌ๋จผํธ์์ ๊ฐ๊ฒฉ์ด ์ค์ด๋ ๋ค
- ๊ทน๋จ์ ์ผ๋ก ์ ์ฉํ๋ฉด, ํ๋ฉด(viewport)์์ ์์ ์ฌ๋ผ์ง๊ฒ ํ๊ฑฐ๋, ๋ค๋ฅธ ์๋ฆฌ๋จผํธ์ ๊ฒน์น๊ฒ ๋ง๋ค ์ ์๋ค.
padding
- padding์ border๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐ์ค ๋ด๋ถ์ ์ฌ๋ฐฑ์ ์ง์ ํ๋ฉฐ, ๊ฐ์ ์์์ ๋ฐ๋ฅธ ๋ฐฉํฅ์ margin๊ณผ ๋์ผํ๋ค.
- ๋ฐฐ๊ฒฝ์์ด๋ border๋ฅผ ์ ์ฉํ๋ฉด, ์์ชฝ ์ฌ๋ฐฑ์ ๋์ฑ ์ ๋ช
ํ๊ฒ ํ์ธํ ์ ์๋ค.
๋ฐ์ค๋ฅผ ๋ฒ์ด๋๋ ์ปจํ
์ธ ์ฒ๋ฆฌ
- ๋ฐ์ค์ height ์์ฑ์ ์ฝํ
์ธ ๊ฐ ์ฐจ์งํ๋ ๊ณต๊ฐ๋ณด๋ค ์์ ๊ฐ์ ์ง์ ํ์ฌ ์ปจํ
์ธ ๊ฐ ๋ฐ์ค ๋ฐ๊นฅ์ผ๋ก ๋น ์ ธ ๋์ฌ๋
- ๋ฐ์ค ์์ ์คํฌ๋กค์ ์ถ๊ฐํ์ฌ ์ฝํ
์ธ ๋ฅผ ํ์ธํ ์ ์๊ฒ ๋ง๋ ๋ค.
p {
height: 40px;
overflow: auto;
}
// ์ฝํ
์ธ ๊ฐ ๋ฐ์ค๋ณด๋ค ํด ๊ฒฝ์ฐ ๋ฐ์ค ์์ ์คํฌ๋กค์ ์ถ๊ฐํ์ฌ ์ฝํ
์ธ ๋ฅผ ํ์ธํ ์ ์๊ฒ ๋ง๋ ๋ค.
// overflow ์์ฑ์ auto ๊ฐ์, ์ฝํ
์ธ ๊ฐ ๋์น๋ ๊ฒฝ์ฐ ์คํฌ๋กค์ ์์ฑํ๋๋ก ํ๋ค.
p {
heigth: 40px;
overflow: hidden;
}
// overflow ์์ฑ์ hidden ๊ฐ์ ์ง์ ํด ๋ฐ์ค๋ณด๋ค ํฐ ์ฝํ
์ธ ์ ๋ด์ฉ์ ์๋ณด์ด๊ฒ ์ฒ๋ฆฌ
// overflow-x : ๊ฐ๋ก ๋ฐฉํฅ ์คํฌ๋กค overflow-y : ์ธ๋ก ๋ฐฉํฅ ์คํฌ๋กค์ ํ ์ ์๊ฒ๋ ์ง์ ๊ฐ๋ฅ
๋ฐ์ค ํฌ๊ธฐ ์ธก์ ๊ธฐ์ค
- ๋ฐ์ค ํฌ๊ธฐ๋ฅผ ์ธก์ ํ๋ ๊ธฐ์ค์ ๋งค์ฐ ์ค์ํ๋ค ์ด ๋ ๋ฐ์ค์ ์ ์ฉํ ์ฌ๋ฐฑ์ ๊ณ ๋ คํด์ผํ๋ค.
- ์ฌ๋ฐฑ์ ๊ณ ๋ คํ์ง ์์ ๊ณ์ฐ ๋ฐฉ์์ ๋ ์ด์์ ๋์์ธ์ ๋ ์ด๋ ต๊ฒ ๋ง๋ ๋ค.
- ๋ ์ด์์ ๋์์ธ์ ์กฐ๊ธ ๋ ์ฝ๊ฒํ๋ ๋ฐฉ๋ฒ : ์ฌ๋ฐฑ๊ณผ ํ
๋๋ฆฌ ๋๊ป๋ฅผ ํฌํจํ ๋ฐ์ค ๊ณ์ฐ ๋ฐฉ๋ฒ์ด ์๋ค.
- ์ผ๋ฐ์ ์ผ๋ก
box-sizing
์ HTML ๋ฌธ์ ์ ์ฒด์ ์ ์ฉ
content-box
๋ ๋ฐ์ค์ ํฌ๊ธฐ๋ฅผ ์ธก์ ํ๋ ๊ธฐ๋ณธ๊ฐ์ด๋ค, ๊ทธ๋ฌ๋ ๋๋ถ๋ถ์ ๋ ์ด์์ ๋์์ธ์์
์ฌ๋ฐฑ๊ณผ ํ
๋๋ฆฌ๋ฅผ ํฌํจํ๋ ๋ฐ์ค ํฌ๊ธฐ ๊ณ์ฐ๋ฒ์ธ border-box
๋ฅผ ๊ถ์ฅ