์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ์ค๋ธ์
- ํ๋ก๊ทธ๋๋ฐ
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์ฑ
- ComputerScience
- ๋ผํ๋ผ์ค์๋ง๋
- ๊น๋ฏธ๊ฒฝ์๋งํ์์
- JavaScript
- ๊ฐ๋ฐ
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ์ปดํจํฐ๊ณผํ
- html
- Python
- ์นํผ๋ธ๋ฆฌ์ฑ
- ์ค๋ผํด
- ์นํ์ด์ง๋ง๋ค๊ธฐ
- css
- ํ์ด์ฌ
- ์ฝ๋ฉ
- K๋ฐฐํฐ๋ฆฌ๋ ๋ณผ๋ฃจ์
- ๋ง์ผ๋ด๊ฐ์ธ์์๋ค์์ฐ๋ค๋ฉด
- ์ํ
- Java
- database
- K๋ฐฐํฐ๋ฆฌ
- ๋ฐ์ํ
- ์๋ฐ
- ๋ ์
- ๋ฆฌ์กํธ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- Today
- Total
JiYoung Dev ๐ฅ
CSS ํต์ฌ ๊ฐ๋ ๋ณธ๋ฌธ
2023.03.01 ~ 2023.03.03 ์ฝ๋์ ํ์ต๋ด์ฉ
๐ CSS ๊ท์น
HTMLํ๊ทธ์ ์คํ์ผ ์์ฑ์ ์ถ๊ฐํ์ฌ ์คํ์ผ์ ์ ํ ์ ์์์. ๊ทธ๋ฌ๋ ์ด ๋ฐฉ๋ฒ์ ๋์ผํ ์์ฑ์ ์ฃผ๊ณ ์ถ์ ํ๊ทธ๊ฐ ์ฌ๋ฌ ๊ฐ์ผ ๋ ์คํ์ผ์ ์ ํ๋ ๊ฒ ๋ฒ๊ฑฐ๋ก์์ง. ๋ฐ๋ผ์ ๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ(seperation of concerns)๋ฅผ ์งํํจ. ์ฆ, ๋ด์ฉ๊ณผ ์คํ์ผ์ ๋ถ๋ฆฌํ๋ ๊ฒ. ๊ด์ฌ์ฌ๋ฅผ ๋ถ๋ฆฌํ๋ฉด ๋ด์ฉ๊ณผ ์คํ์ผ์ ๋ฐ๋ก ๊ณ ์น๊ธฐ ํธํ๊ณ , CSS ํ์ผ์ ๋ฐ๋ก ์ ์ฅํ๊ธฐ ํธํจ. ๋ฐ๋ผ์ CSS ์์ฑ์ ํ๋ํ๋ ํ๊ทธ์ ๋ฃ๊ธฐ๋ณด๋ค๋ CSS ๊ท์น์ ์ ํด ๋๊ณ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํจ
๊ธฐ๋ณธ ๋ฌธ๋ฒ:
์ ํ์ {
์์ฑ: ์์ฑ๊ฐ;
์์ฑ: ์์ฑ๊ฐ;
}
์์ฑ ์:
h3 {
color: #ffffff;
font-size: 20px
}
๐ CSS ์ ํ์
๊ท์น์์ ์์๋ฅผ ์ ํํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ถ๋ถ์ผ๋ก ํ๊ทธ ์ด๋ฆ, id, class๋ก ๊ตฌ๋ถํ ์ ์์
๐ ํ๊ทธ์ด๋ฆ
h1, div ๊ฐ์ ํ๊ทธ๋ฅผ ์ ํ์๋ก ์ฐ๋ฉด ๊ทธ ํ๊ทธ์ ํด๋นํ๋ ์์ ์ ์ฒด์ ๋ชจ๋ ์คํ์ผ์ ์ ์ฉํจ
h3 {
font-size: 24px
}
๐ ์์ด๋(id)
๋งจ ์์ ์พ์ ๋ถ์ฌ์ #์์ด๋_์ด๋ฆ๊ณผ ๊ฐ์ ๋ฌธ๋ฒ์ผ๋ก ์ฌ์ฉ. ์์ด๋๋ ํ ํ์ด์ง ์์์ ์ค๋ณตํด์ ์ฌ์ฉํ ์ ์์(ํ๊ทธ ํ๋๋ฐ์ ์ ํํ ์ ์์)
html ์ฝ๋
<h3>์ฐ๋</h3>
<h3 id="hallasan">ํ๋ผ์ฐ ๊ตญ๋ฆฝ๊ณต์</h3>
<h3>์ฑ์ฐ ์ผ์ถ๋ด</h3>
<h3>๊ตฐ์ฐ ์ค๋ฆ</h3>
CSS ์ฝ๋
#hallasan{
color: #f56513;
}
๐ ํด๋์ค(class)
ํ๊ทธ๋ฅผ ์ฌ๋ฌ ๊ฐ ์ ํํ์ฌ ์คํ์ผ์ ์ ์ฉํ๊ณ ์ถ์ ๋ ์ฌ์ฉ. ๋งจ ์์ ๋ง์นจํ๋ฅผ ๋ถ์ฌ์ .ํด๋์ค_์ด๋ฆ๊ณผ ๊ฐ์ ๋ฌธ๋ฒ์ผ๋ก ์.
HTML ์ฝ๋
<h3 class="place">์ฐ๋</h3>
<h3 class="place" id="hallasan">ํ๋ผ์ฐ ๊ตญ๋ฆฝ๊ณต์</h3>
<h3 class="place">์ฑ์ฐ ์ผ์ถ๋ด</h3>
<h3 class="place">๊ตฐ์ฐ ์ค๋ฆ</h3>
CSS ์ฝ๋
.place{
font-size: 16px;
font-weight: 400;
}
๐ CSS ํ์ผ ์ ์ฅํ๋ ๋ฒ
HTML ํ์ผ์ CSS ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ๋ณด๊ธฐ ์ด๋ ค์. ๋ฐ๋ผ์ CSSํ์ผ์ ๋ฐ๋ก ์ ์ฅํจ.
โ ํ์ผ๋ช .css ์ด๋ฆ์ผ๋ก ํ์ผ์ ์์ฑํ๊ณ ์ฝ๋๋ฅผ ์์ฑํ์ฌ ์ ์ฅ
โก html ๋ฌธ์์์ <link> (ํ์ฌ ๋ฌธ์ ๋ฐ๊นฅ์ ์๋ ํ์ผ์ ๋ถ๋ฌ์ค๋ ํ๊ทธ) ํ์ฉํด CSS ์ฝ๋ html์ ์ ์ฉ
<link rel="stylesheet" href="ํ์ผ๋ช .css">
rel์ relation์ ์ฝ์๋ก ๋ถ๋ฌ์ค๋ ํ์ผ๊ณผ html ํ์ผ๊ณผ์ ๊ด๊ณ๋ฅผ ๋ปํจ
href๋ ๊ฒฝ๋ก (๋ง์ฝ ๊ฐ์ ํด๋์ ์์ผ๋ฉด ํ์ผ๋ช ๋ง ์์ฑํ๋ฉด ๋จ. ๋ค๋ฅธ ํด๋์ ์์ผ๋ฉด ๊ฒฝ๋ก ์์ฑํด์ผ ํจ)
๐ ์์, ํฌ๊ธฐ ๋จ์
๐ ์์์ ๋ํ๋ด๋ ๋ฐฉ๋ฒ
โ ์์ ์ด๋ฆ (color names)
red, yellow, white ๋ฑ๊ณผ ๊ฐ์ด ํํ
์ธ์ธํ ์๊น์ ๋ํ๋ด๊ธฐ ํ๋ค์ด ์ ์ฌ์ฉ ์ ํจ
โ ์์ ์ฝ๋ (color codes)
css์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ๋ฐฉ์
#์ผ๋ก ์์ํ๊ณ ์ซ์์ ๋ฌธ์(a~f)๋ก ์กฐํฉํ ์ฌ์ฏ ์๋ฆฌ
์์์ ๋ง๋๋ ๋ฐฉ๋ฒ์๋ 2๊ฐ์ง๊ฐ ์์. CMYK๋ฐฉ์(๋ฌผ๊ฐ)๊ณผ RGB(๋น) ๋ฐฉ์
CMYK ์๋ฃ์ ์ผ์์์ yellow, cyan, magenta
RGB ๋ฐฉ์์ ์ผ์์์ red, green, blue
CSS์์๋ ๋ชจ๋ํฐ์์ ๋ณด์ด๋ ์์์ ๋ง๋๋ ๊ฒ์ด๋ฏ๋ก ๋น์ ์ผ์์์ธ RGB๋ฅผ ์ฌ์ฉ
RGB 3์์ ์ค red๋ rgb(255, 0, 0)
green์ rgb(0, 255, 0)
blue๋ rgb(0, 0, 255)
red์ green์ ์์ผ๋ฉด yellow๊ฐ ๋๋ฏ๋ก yellow์ RGB๋ rgb(255, 255, 0)
red, green, yellow๋ฅผ ๋ชจ๋ ์์ผ๋ฉด white๊ฐ ๋๋ฏ๋ก white์ RGB๋ rgb(255, 255, 255)
์ด๋ ๊ฒ rgb์ ๊ฐ์ 16์ง์๋ก ํํํ ๊ฒ์ ์์์ฝ๋๋ผ ํจ
0 → 00
64 → 40
128 → 80
192 → c0
255 → ff
์ด๋ฅผ ์ด์ฉํ์ฌ RGB ์์์ ์์ ์ฝ๋๋ก ํํํ๋ฉด
red๋ ff0000
green์ 00ff00
blue๋ 0000ff
yellow๋ ffff00
white๋ ffffff
โ RGB
๋นจ๊ฐ, ์ด๋ก, ํ๋ ๊ฐ์ 10์ง์๋ก ์จ์ ์์์ ๋ํ๋ธ ๊ฒ
โ RGBA
RGB์ ์ํ(๋ถํฌ๋ช ๋)๋ฅผ ์ถ๊ฐํ ๊ฒ
๋ถํฌ๋ช ๋๋ 0~1 ์ฌ์ด์ ์์์ ์ซ์ (0 ์์ ํฌ๋ช 0.5 ๋ฐํฌ๋ช 1 ๋ถํฌ๋ช )
๐ ๋ค์ํ ํฌ๊ธฐ ๋จ์
โ ์ ๋์ ์ธ ๋จ์ : ํฝ์
ํ๋ฉด์ ํ์ํ๋ ๊ธฐ์ค์ด ๋๋ ๊ฐ์ฅ ์์ ์ ์ฌ๊ฐํ
PPI(picxel per inch) : ๋ชจ๋ํฐ์์ 1์ธ์น ์ ์ฌ๊ฐํ ์์ ํฝ์ ์ด ๋ช ๊ฐ๋ ๋ค์ด๊ฐ๋์ง๋ฅผ ๋ํ๋ด๋ ๋จ์๋ก ์ด์ดํ ๋ชจ๋ํฐ์ผ์๋ก ํด์๋๊ฐ ๋์
โ ์๋์ ์ธ ๋จ์ : ํผ์ผํธ(%), em, rem
ํผ์ผํธ(%)
๋ถ๋ชจ ํ๊ทธ์ ๋ํ ์๋์ ์ธ ํฌ๊ธฐ. ํฌ๊ธฐ๋ฅผ ๋ฐ๊พธ๊ณ ์ถ์ ๋ ๋ถ๋ชจ์ ํฌ๊ธฐ๋ง ๋ฐ๊พธ๋ฉด ๋จ
em, rem
๊ธ์ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ์๋์ ์ธ ํฌ๊ธฐ
- em
์ธ์์์ ์ ํต์ ์ผ๋ก ๋๋ฌธ์ M์ ํฌ๊ธฐ
CSS์์ 1em = ๋ถ๋ชจ ํ๊ทธ์ font-size
- rem
1rem = <html> ์ต์์ ํ๊ทธ์ font - size
๊ธ์ ํฌ๊ธฐ์ ๋ง์ถฐ ์ฌ๋ฐฑ์ ์ฃผ๊ณ ์ถ์ ๋์ ์์ฃผ ์ฌ์ฉ
โป CSS์์ ์ฝ๋ฉํธ ๋ฌ๊ธฐ : /* ๋ด์ฉ */
๐ ์์ฃผ ์ฐ์ด๋ CSS ์์ฑ
๐ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง ๋ฃ๊ธฐ
url ์์๋ ํ์ผ ์ฃผ์๋ ๊ฒฝ๋ก๋ฅผ ๋ฃ๊ณ , ๋ฐ์ดํ๋ ์์ด๋ ๊ด์ฐฎ์ง๋ง ํน์ ๋ฌธ์๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฐ์ดํ๊ฐ ํ์ํจ
๋ฐฐ๊ฒฝ์ด๋ฏธ์ง๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ผ ํํ๋ก ๊น๋ฆผ
๋ํ, ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ฃ์ ์๋ ์์
๊ธฐ๋ณธ ๋ฌธ๋ฒ:
background-image: url('ํ์ผ๋ช ');
๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ฌ๊ฐ ๋ฃ์ ๋:
background-image:
url('a.png'), /* ์ ์ผ ์์ ๋ณด์ด๋ ์ด๋ฏธ์ง */
url('b.png'),
url('c.png');
โ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ๊ฝ ์ฐจ๊ฒ ํ๋ ๋ฐฉ๋ฒ : ๋ฐฐ๊ฒฝ์ ๋ฐ๋ณต
background-repeat: no-repeat; /* ๋ฐ๋ณต ์ ํจ*/
background-repeat: repeat; /*๊ธฐ๋ณธ๊ฐ*/
repeat-x๋ ๊ฐ๋ก๋ง ๋ฐ๋ณต
repeat-y๋ ์ธ๋ก๋ง ๋ฐ๋ณต
โ ๋ฐฐ๊ฒฝ์ ์์น
์ด๋ฏธ์ง๋ฅผ ์ด๋ค ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ์ง
background-position: center;
bottom, left, right, top ๋ฑ ์์น ๊ธฐ์ค์ ๋ฐ๊ฟ ์ ์์
โ ๋ฐฐ๊ฒฝ์ ํฌ๊ธฐ
background-size: cover;
background-size: 40px 30px /* ๊ฐ๋ก 40px, ์ธ๋ก 30px */
cover - ๋น์จ์ ์ ์งํ๋ฉด์ ๊ฝ ์ฐจ๊ฒ. ์ด๋ฏธ์ง๊ฐ ์๋ฆด ์ ์์
contain - ๋น์จ์ ์ ์งํ๋ฉด์ ์ต๋ํ ํฌ๊ฒ. ์ด๋ฏธ์ง๊ฐ ์๋ฆฌ์ง ์์
๐ ๊ทธ๋ผ๋์ธํธ(gradient)
background-image ์์ฑ ์ฌ์ฉ
์์์ ์๋๋ก ๊ฐ์๋ก ํฌ๋ช ํด์ง
background-image: linear-gradient(rgba(0,0,0,1), rgba(0,0,0,0)
๊ฐ๋๋ฅผ ์ถ๊ฐํ๊ณ ์ถ์ผ๋ฉด ์์ ์์ ๊ฐ๋ ์ถ๊ฐ
background-image: linear-gradient(90deg, rgba(0,0,0,1), rgba(0,0,0,0)
๊ทธ๋ผ๋์ธํธ์ ๋จ๊ณ๋ง๋ค ๋น์จ์ ๋ค๋ฅด๊ฒ ํ๊ณ ์ถ๋ค๋ฉด ์ค๊ฐ์ 40% ์ด๋ฐ ์์ผ๋ก ์ ์ด์ฃผ๋ฉด ๋จ
background-image: linear-gradient(90deg, rgba(0,0,0,1), 40%, rgba(0,0,0,0)
๊ทธ๋ผ๋์ธํธ๋ ์ด๋ ๊ฒ ์ง์ ์์ฑํ๋ ๊ฒ๋ณด๋ค๋ css gradient generator๋ฅผ ์ฌ์ฉํ๋ฉด ํธํ๊ฒ ์์ฑํ ์ ์์
์ด๋ฏธ์ง ์์ ๋ฐํฌ๋ช ํ ๊ทธ๋ผ๋์ธํธ ๊ฒน์น๋ ๋ฐฉ๋ฒ
background-image:
linear-gradient(90deg, rgba(0,0,0,1), 40%, rgba(0,0,0,0),
url('pizza.png');
๐ ๊ทธ๋ฆผ์ (box-shadow)
box-shadow: 10px 15px rgbs(0, 0, 0, 0.4)
๊ทธ๋ฆผ์๊ฐ ๊ฐ๋ก๋ก๋ 10px, ์ธ๋ก๋ก๋ 15px ์๊น
ํ๋ฆผ ํจ๊ณผ ๋ฃ๊ธฐ
box-shadow: 10px 15px 20px rgbs(0, 0, 0, 0.4)
๊ทธ๋ฆผ์๊ฐ ์ผ๋ง๋ ํผ์ง์ง (ํผ์ง๋ ํฌ๊ธฐ)
box-shadow: 10px 15px 20px 5px rgbs(0, 0, 0, 0.4)
๐ ๋ถํฌ๋ช ๋
๊ฐ์ด 1์ ๊ฐ๊น์ธ์๋ก ๋ถํฌ๋ช , 0์ ๊ฐ๊น์ธ์๋ก ํฌ๋ช
์์ ์ ์ฒด๊ฐ ๋ฐํฌ๋ช ํด์ง
๋ฐฐ๊ฒฝ์๋ง ๋ฐํฌ๋ช ํ๊ฒ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด rgba๋ฅผ ํ์ฉํ๋ฉด ๋จ
opacity: 0.5
๐ ๋ฐ์ค ๋ชจ๋ธ (box model)
์นํ์ด์ง์์ ๋ชจ๋ ์์๋ค์ ๋ฐ์ค ๋ชจ๋ธ์ ๋ฐ๋ฆ. ๋ฐ์์๋ถํฐ ์ฐจ๋ก๋๋ก ๋ฐ๊นฅ ์ฌ๋ฐฑ์ธ ๋ง์ง, ํ ๋๋ฆฌ์ธ ๋ณด๋, ํ ๋๋ฆฌ์ ์ค์ ๋ด์ฉ ์ฌ์ด์ ์ฌ๋ฐฑ์ธ ํจ๋ฉ, ๊ทธ๋ฆฌ๊ณ ์ค์ ๋ด์ฉ์ด ๋ค์ด๊ฐ๋ ์ฝํ ์ธ ๋ฐ์ค๊ฐ ์์
๐ padding : ์์ญ ์์ชฝ์ ์ฌ๋ฐฑ์ ๋ฃ์ ๋ ์ฌ์ฉ
padding: 16px 8px 24px 10px;
<padding ์์ฑ> - ์์ ๋์ผํ ์ฝ๋
padding-top: 16px;
padding-right: 8px;
padding-bottom: 24px;
padding-left: 10px;
๐ margin : ์์ญ ๋ฐ๊นฅ์ชฝ ์ฌ๋ฐฑ์ ๋ฃ์ ๋ ์ฌ์ฉ
margin์ ๋๋น๋ฅผ ์ค์ ํด ์ฃผ๊ณ ๊ฐ๋ก ์ฌ๋ฐฑ์ auto๋ก ์์ฑํ์ฌ ๋ฐ๊นฅ ์ฌ๋ฐฑ์ ์๋์ผ๋ก ์ฑ์ฐ๋ ์ค์ ์ ํ ์ ์์
margin: 16px 8px 24px 10px;
<margin ์์ฑ> - ์์ ๋์ผํ ์ฝ๋
margin-top: 16px;
margin-right: 8px;
margin-bottom: 24px;
margin-left: 10px;
๐ border์ border-radius
์ฃผ๋ก ๊ตต๊ธฐ, ํ ๋๋ฆฌ ์ข ๋ฅ(solid, dotted, dashed), ์์ ์์๋ก ์์ฑ
border-radius ์์ฑ์ ์ฌ์ฉํ์ฌ ๋ฐ์ค ๋ชจ๋ธ์ ๋ชจ์๋ฆฌ๋ฅผ ๋ฅ๊ธ๊ฒ ๋ง๋ค ์ ์์. border ์์ฑ์ด ์์ด๋ ์ฌ์ฉ ๊ฐ๋ฅ. ๊ฐ์ด ์ปค์ง์๋ก ๋ฅ๊ธ์ด์ง
border: 1px solid #dedede
border-radius: 8px
๐ box-sizing
๊ธฐ๋ณธ์ ์ผ๋ก width์ ๊ฐ์ด ์์์ ํฌ๊ธฐ๋ฅผ ์ง์ ํ๋ ๊ทธ ํฌ๊ธฐ๋ ๋ฐ์ค ๋ชจ๋ธ์์ ์ฝํ ํธ ์์ญ์ ํฌ๊ธฐ๋ฅผ ์๋ฏธํจ.
border์ padding์ ํฌํจํ ํฌ๊ธฐ๋ box-sizing: border-box (border๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐ์ค ์ฌ์ด์ฆ๋ฅผ ์ง์ )๋ฅผ ์ฌ์ฉํ๋ฉด ๋จ
#box {
margin:20px;
padding:30px;
width:100px;
box-sizing: border-box;
}
๋ชจ๋ ์์์ ๊ฐ์ ์คํ์ผ ์ ์ฉํ๋ ค๋ฉด * ์ฌ์ฉ
* {
}
๐ overflow
๋ฐ์ค์ ํฌ๊ธฐ๋ฅผ ์ง์ ํ์ ๋ ๋ด์ฉ์ด ๋ง์์ ๋ฐ์ค ๋ฐ์ผ๋ก ๋์น๋ ๊ฒฝ์ฐ๊ฐ ์์. ์ด๋ฅผ ์ค๋ฒํ๋ก์ฐ๋ผ๊ณ ํจ.
์ด๋ด ๋๋ ๋ด์ฉ์ ๊ฐ์ถ๊ฑฐ๋ ์คํฌ๋กค์ ์ ์ฉํด ์ฃผ๋ฉด ๋จ
overflow: hidden; (๋์น๋ ๋ด์ฉ ์จ๊ธฐ๊ธฐ)
overflow: auto; (๋์น๋ฉด ์คํฌ๋กค)
overflow: scroll; (๋์น๋ ๋ด์ฉ ํญ์ ์คํฌ๋กค)
๊ฐ๋ก ์คํฌ๋กค ์ ์ฉ
white-space: nowrap; ์์ฑ
๐ ๋ง์ง ์์
์ผ๋ฐ์ ์ผ๋ก ์ธ๋ก๋ก ๋ง์ง๊ฐ์ด ๋ค์ด๊ฐ์ ๋ ๋ง์ง ์์๊ฐ ์ผ์ด๋จ. ์ด์ํ๋ ์์๋ค๋ผ๋ฆฌ์๋ ๋ง์ง ์์๊ฐ ์ผ์ด๋๊ณ , ๋ถ๋ชจ ์์ ์ฌ์ด์๋ ๋ง์ง ์์๊ฐ ์ผ์ด๋ ์ ์์. ์ด๋ ๋ถ๋ชจ์ padding์ด๋ border๊ฐ ์์ผ๋ฉด ๊ฒฝ๊ณ๊ฐ ์๋ค๊ณ ์๊ฐํ๊ณ ์ธ๋ก ๋ง์ง์ ๊ฒน์น์น ์์
๐ ๋์คํ๋ ์ด (Display)
๋์คํ๋ ์ด ์์ฑ์๋ ๋ธ๋ก๊ณผ ์ธ๋ผ์ธ์ด ์์
๐ ๋ธ๋ก(block)
์์์ ์๋๋ก ์ฐจ๋ก๋๋ก ๋ฐฐ์น๋๋ ์์๋ก ํฌ๊ธฐ๋ฅผ ์ง์ ํ ์ ์์
<p>, <h1>~<h6>, <div>
๐ ์ธ๋ผ์ธ(inline)
๊ธ์ ์ฐ๋ ๋ฐฉํฅ์ผ๋ก ์ค์ด ๋ฐ๋๋ฉด์ ๋ฐฐ์น๋๋ฉฐ ๋ธ๋ก๊ณผ ๋ฌ๋ฆฌ ํฌ๊ธฐ๋ฅผ ์ง์ ํ ์ ์์. (๋จ, img๋ ์์ธ์ ์ผ๋ก ํฌ๊ธฐ ์ง์ ๊ฐ๋ฅ)
<a>, <br>, <img>, <span>
๐ ์ธ๋ผ์ธ ๋ธ๋ก(inline block)
๋ฐฐ์น๋ ์ธ๋ผ์ธ์ฒ๋ผ ๋์ง๋ง ๋ธ๋ก์ฒ๋ผ ํฌ๊ธฐ๊ฐ ์๋ ์์
display: inline-block;
display: none → css์์ html ์ฝ๋๋ฅผ ์ ๋ณด์ด๊ฒ ํ๊ณ ์ถ์ ๋ ์ฌ์ฉ
๐ float
์์๋ฅผ ํ์ด์ง ์ผ์ชฝ์ด๋ ์ค๋ฅธ์ชฝ์ ์ฝํ์ฒ๋ผ ๋ฐฐ์นํ๊ณ , ๊ทธ ์ฃผ๋ณ์ผ๋ก ์ธ๋ผ์ธ ์์๋ค์ ๋ฐฐ์นํ ์ ์์
float: right; ๋ธ๋ก ๋งจ ์ค๋ฅธ์ชฝ์ ๋ฐฐ์นํ๊ณ ๋๋จธ์ง ์ธ๋ผ์ธ๋ค์ด ์๋ฆฌ๋ฅผ ๋น์ผ์ค
float: left; ๋ธ๋ก ๋งจ ์ผ์ชฝ์ ๋ฐฐ์นํ๊ณ ๋๋จธ์ง ์ธ๋ผ์ธ๋ค์ด ์๋ฆฌ๋ฅผ ๋น์ผ์ค
๋ธ๋ก, ์ธ๋ผ์ธ ๋ธ๋ก, ์ธ๋ผ์ธ ๋น๊ต
๋ธ๋ก | ์ธ๋ผ์ธ๋ธ๋ก | ์ธ๋ผ์ธ | |
๊ธฐ๋ณธ ํฌ๊ธฐ | ์ข์ฐ๋ก ๊ฝ ์ฐธ | ์ฝํ ํธ์ ๋ฑ ๋ง๊ฒ | ์ฝํ ํธ์ ๋ฑ ๋ง๊ฒ |
๋ฐฐ์น | ์์์ ์๋๋ก | ๊ธ ์ฐ๋ ๋ฐฉํฅ | ๊ธ ์ฐ๋ ๋ฐฉํฅ |
width์ height | O | O | X |
margin๊ณผ padding | O | O | ์ธ๋ผ์ธ ์งํ ๋ฐฉํฅ(=๊ฐ๋ก)๋ง ์ ๋๋ก ์ฌ์ฉ ๊ฐ๋ฅ |
๐ ์ ํ์ (selector)
๐ ์ ํ์ ๋ชฉ๋ก (selector list)
์ฝค๋ง( , )๋ก ์ ํ์๋ฅผ ์ฐ๊ฒฐํ๋ฉด ์ฌ๋ฌ ์ ํ์์ ๊ฐ์ ๊ท์น์ ์ ์ฉํ ์ ์์
์ ํ์1,
์ ํ์2 {
...
}
๐ ์ ํ์ ๋ถ์ฌ์ฐ๊ธฐ
์ฌ๋ฌ ์กฐ๊ฑด์ ๋์์ ๋ง์กฑํ๋ ์์๋ฅผ ์ ํํ๊ณ ์ถ์ ๋ ์ฌ์ฉ
html์์ ์ฌ๋ฌ ํด๋์ค ์์ฑํ๊ธฐ
<h2 id="mongolia" class="large title">๋ชฝ๊ณจ ๋์์ฐ์ผ๋ก ๋ ๋๋ ์ฌํ</h2>
- ์ฌ๋ฌ ํด๋์ค๋ฅผ ๋ง๋ค๋ ค๋ฉด ๋์ด์ฐ๊ธฐ๋ฅผ ํ๋ฉด ๋จ
css์์ ์ฌ๋ฌ ์กฐ๊ฑด์ ๋์์ ๋ง์กฑํ๋ ์์ ์ ํํ์ฌ ์คํ์ผ ์ ํ๊ธฐ
1. ์์ด๋ + ํด๋์ค
#mongolia.title
2. ํด๋์ค + ํด๋์ค
.large.title
3. ํ๊ทธ + ์์ด๋ + ํด๋์ค
h2#mongolia.large.title
๐ ์์ ๊ฒฐํฉ์ (child combinator)
์ค๋ฅธ์ชฝ ๊บพ์ ๋ก ์ ํ์๋ฅผ ์ด์ด์ค.
<div class="article">
<img src="...">
...
</div>
๋ถ๋ชจ ์ ํ์ article ์๋ ์์ ์ ํ์ img๋ฅผ ์ ํํ๋ ค๋ฉด ์๋์ ๊ฐ์ด ์์ ๊ฒฐํฉ์ ์ฌ์ฉ ๊ฐ๋ฅ
.article > img {
width: 100%;
}
๐ ์์ ๊ฒฐํฉ์ (descendant combinator)
์คํ์ด์ค(๋์ด์ฐ๊ธฐ)๋ก ์ ํ์๋ฅผ ์ด์ด์ฃผ๋ฉด ๋จ. ๋ณดํต ์์ ๊ฒฐํฉ์๋ณด๋ค ์์ ๊ฒฐํฉ์๋ฅผ ๋ง์ด ์ฌ์ฉ.
<div class="article">
<img src="...">
...
</div>
๋ถ๋ชจ ์ ํ์ article ์๋ ์์ ์ ํ์ img๋ฅผ ์ ํํ๋ ค๋ฉด ์๋์ ๊ฐ์ด ์์ ๊ฒฐํฉ์ ์ฌ์ฉ ๊ฐ๋ฅ
.article img {
width: 100%;
}
โป ์์๊ณผ ์์์ ์ฐจ์ด
์์์ ๋ถ๋ชจ ๋ฐ๋ก ๋ฐ์ ์๋ ์์ ํ๊ทธ๋ฅผ ๋งํ๋ฉฐ, ์์์ ๋ถ๋ชจ ๋ฐ์ ์๋ ๋ชจ๋ ํ์ ํ๊ทธ๋ฅผ ๋งํจ. ๋ฐ๋ผ์ ์์ > ์์์ผ๋ก ์์์ ๋ฒ์๊ฐ ๋ ํผ. ์ฆ, ์ด๋ค ํ๊ทธ์ ๋ชจ๋ ํ์ ํ๊ทธ์ ์ ์ฉํ๊ณ ์ถ์ผ๋ฉด ์์ ์ ํ์๋ฅผ, ์ด๋ค ํ๊ทธ์ ์์ ํ๊ทธ์๋ง ์ ์ฉํ๊ณ ์ถ์ผ๋ฉด ์์ ์ ํ์๋ฅผ ์ฌ์ฉ
โป n๋ฒ์งธ ์์ ์ ํ์ (n-th child selector)
:nth-child() ์ฌ์ฉํ์ฌ ๊ดํธ() ์์ ๋ช ๋ฒ์งธ ์์์ ์ ํํ ๊ฒ์ธ์ง ๋ฃ์ผ๋ฉด ๋จ. even, odd, 2n ๊ฐ๋ ๋ค์ด๊ฐ ์ ์์
์ธ ๋ฒ์งธ ์์
.gallary :th-child(3)
์ง์ ๋ฒ์งธ ์์
.gallary :nth-child(even)
.gallary :nth-child(2n)
ํ์ ๋ฒ์งธ ์์
.gallary :nth-child(odd)
.gallary :nth-child(2n+1)
์ฒซ ๋ฒ์งธ ์์
.gallary :first-child
๋ง์ง๋ง ์์
.gallary :last-child
๐ ๊ฐ์ ํด๋์ค (pseudo-class)
์์์ ์ํ๋ฅผ ์ ํํ ๋ ์ฌ์ฉํ๋ ํด๋์ค๋ก ๋ํ์ ์ผ๋ก :hover (๋ง์ฐ์ค๋ฅผ ์ฌ๋ ธ์ ๋), :active (ํด๋ฆญํ ์ํ), :visited (๋ฐฉ๋ฌธํ ์ ์ด ์๋ ๋งํฌ), :focus (ํฌ์ปค์ฑ ๋์์ ๋) ๋ฑ์ด ์์.
์. ๋ง์ฐ์ค๋ฅผ ์ฌ๋ ธ์ ๋ ๋ฐ์ค์ด ์๊ธฐ๊ฒ ํ๋ ์ฝ๋
a {
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
๐ ์บ์ค์ผ์ด๋ (cascade)
์ต์ข ์ ์ผ๋ก ์ ์ฉํ CSS ์์ฑ๋ค์ ๊ฒฐ์ ํ ๋, ๊ณ๋จ์ ํญํฌ์ฒ๋ผ CSS ๊ท์น์ ์์์ ๋ฐ๋ผ ํฉ์ณ์ ์ ์ฉํ๋ ๊ฒ. ์ฐ์ ์์๊ฐ ๋์ ๊ท์น์ผ์๋ก ์ฐ์ ์ ์ผ๋ก ์์ฑ์ ์ ์ฉํจ.
๐ ์บ์ค์ผ์ด๋ ์์
โ ์คํ์ผ ์ํธ์ ์ข ๋ฅ์ ๋ฐ๋ฅธ ์์
์ฐ๋ฆฌ๊ฐ ์์ฑํ CSS ์คํ์ผ ์ํธ > ๋ธ๋ผ์ฐ์ ์์ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ๋ ์คํ์ผ์ํธ (user agent stylesheet)
โ ์ฝ๋ ์์ ์์
์ฝ๋์์ ์๋์ชฝ์ ์ด ์ฝ๋์ผ์๋ก ์ฐ์ ์์๊ฐ ๋์
โ ๋ช ์๋ (specificity)์ ๋ฐ๋ฅธ ์์
๋ช ์๋๋ ์์ด๋์ ๊ฐ์, ํด๋์ค ๊ฐ์, ํ๊ทธ ๊ฐ์๋ฅผ ์ ์ด ์ ์๋ฅผ ๋น๊ตํ ๊ฐ์ผ๋ก ์ ์๊ฐ ๋์์๋ก ์ฐ์ ์์๊ฐ ๋์
a.order { /* ์์ด๋ 0, ํด๋์ค 1, ํ๊ทธ 1 = ๋ช ์๋ 0 1 1 */
...
}
a#info { /* ์์ด๋ 1, ํด๋์ค, ํ๊ทธ 1 = ๋ช ์๋ 1 0 1 */
....
}
a#info.order { /* ์์ด๋ 1, ํด๋์ค 1, ํ๊ทธ 1 = ๋ช ์๋ 1 1 1 */
....
}
๐ ์์
๋ถ๋ชจ ํ๊ทธ์ ์ ์ฉ๋ CSS ๊ท์น์ ์์์๊ฒ๋ ์์๋จ. ๋ชจ๋ ์์ฑ์ด ์์๋๋ ๊ฑด ์๋๊ณ , ์์๋๋ ์์ฑ์ด ์ ํด์ ธ ์์
๊ฐ๊น์ด ์กฐ์์๊ฒ ๋ฌผ๋ ค๋ฐ์ ์์ฑ์ผ์๋ก ์ฐ์ ์์๊ฐ ๋์
์์๋๋ ์์ฑ๋ค : color, font-family, font-size, font-weight, line-height, text-align, ...
'full stack > HTML, CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
WEB & HTML ์ ์์ ์ญ์ฌ / HTML ํ๊ทธ (2023.04.21) (1) | 2023.04.23 |
---|---|
CSS ๋ ์ด์์ : Position, Flex (0) | 2023.03.08 |
HTML ํต์ฌ ๊ฐ๋ (0) | 2023.03.06 |
[์นํผ๋ธ๋ฆฌ์ฑ] CSS ์์ํ๊ธฐ / ํ์ด์ง๋ผ๋ฆฌ ์ฐ๊ฒฐํ๊ธฐ (0) | 2023.02.28 |
[์นํผ๋ธ๋ฆฌ์ฑ] HTML ์์ํ๊ธฐ (0) | 2023.02.28 |