2025. 7. 29. 12:50ใStyle/CSS

๋ชฉ์ฐจ
1. CSS ์ ํ์(CSS Selector)
1-1. ์ ํ์ ์ข
๋ฅ
1-2. ์์ฑ ์ ํ์
1-3. ์ฌ๋ฌ ์ ํ์์ ๊ฐ์ ๊ท์น ์ ์ฉํ๊ธฐ
1-4. ์ฌ๋ฌ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์ ์ ํํ๊ธฐ
2. ์์ ๊ฒฐํฉ์ (Child Combinator)
3. ์์ ๊ฒฐํฉ์ (Descendant Combinator)
4. ๊ฐ์ ํด๋์ค (Pseudo-class)
5. ์ ํ์ ์ ์ฌ์ฉํ๊ธฐ
1. CSS ์ ํ์ (CSS Selector)
CSS ๊ท์น์์ ๋งจ ์์ ์ ์ด์ฃผ๋ ๊ฒ์ผ๋ก, ์์ฑํ๋ ๊ท์น์ ์ด๋ค ์์์ ์ ์ฉํ ์ง ์ ํํ๋ค.
์ ํ์ {
์์ฑ: ๊ฐ;
์์ฑ: ๊ฐ;
}
1. ์ ํ์ ์ข ๋ฅ
์ ํ์๋ฅผ ์์ฑํ๋ ๋ฐฉ์์ ํฌ๊ฒ 4๊ฐ์ง๊ฐ ์๋ค.
- ์ ์ฒด ์ ํ์ : ํ์ด์ง์ ๋ชจ๋ ์์์ ์คํ์ผ ์ง์ (๋ธ๋ผ์ฐ์ ๊ธฐ๋ณธ ์คํ์ผ ์ด๊ธฐํํ ๋ ๋ง์ด ์ฌ์ฉํจ)
* ๋ก ์์ฑ - ํ์
์ ํ์ : ํด๋นํ๋ html ํ๊ทธ์ ์คํ์ผ ์ง์
ํ๊ทธ๋ช ์ผ๋ก ์์ฑ - id ์ ํ์ : ํด๋นํ๋ id๋ฅผ ์์ฑ์ผ๋ก ์ง๋ ํ๊ทธ์ ์คํ์ผ ์ง์ (ํ์ด์ง๋น id๋ ํ๋๋ง ๊ฐ์ง)
#id๋ช ์ผ๋ก ์์ฑ - class ์ ํ์ : ํด๋นํ๋ class๋ฅผ ์ง๋ ํ๊ทธ์ ์คํ์ผ ์ง์ (ํ์ด์ง๋น class๋ ์ฌ๋ฌ๊ฐ ๊ฐ์ง ์ ์์)
.class๋ช ์ผ๋ก ์์ฑ
// ์ ์ฒด ์ ํ์
* {
padding: 0;
}
// ํ๊ทธ ์ ํ์
div {
padding: 10px;
}
// id ์ ํ์ (์ ์ฉ : <div id="id-name"> )
#id-name {
padding: 10px;
}
// class ์ ํ์ (์ ์ฉ : <div class="class-name"> )
.class-name {
padding: 10px;
}
2. ์์ฑ ์ ํ์
html ์์ฑ์ ๊ฐ๋ค์ ๋น๊ตํ ๊ฒฐ๊ณผ๋ก ์คํ์ผ์ ์ง์ ํ ์ ์๋ค.
์์ ์ด๋ฆ[์์ฑ๋ช ] ์ ํํ๋ก ์ฌ์ฉํ๋ค.
| ์ฐ์ฐ์ | ์ค๋ช | ์์ |
| ์์ฑ๋ช | ์์ฑ๋ช ๋ง ์์ฑํ ๋ ํด๋น ์์ฑ์ ๊ฐ๋ ์์๋ค์ ๋ชจ๋ ์ ํํ๋ค. | span[ id ] { color: red; } |
| = | ๊ฐ์ด ์ ํํ๊ฒ ์ผ์นํ ๋ ์ ํํ๋ค. | span[ href="https://example.com" ] { color: red; } |
| -= | ๊ฐ์ด ์ ํํ๊ฒ ์ผ์นํ ๋ ์ ํํ๋ค. ๋์ด์ฐ๊ธฐ๋ก ์ฌ๋ฌ ๊ฐ์ด ์ง์ ๋ ์์๋ ์ ํํ๋ค. |
span[ class-="coding" ] { color: red; } |
| |= | ๊ฐ์ด ์ผ์นํ๊ฑฐ๋ ๊ฐ ๋ค -(ํ์ดํ)์ ์์ฑํ ๋๋ ์ ํํ๋ค. (html, html-basic, html-advanced) |
span[ class|="html" ] { color: red; } |
| ^= | ์ ๋์ฌ๋ก ๊ฐ์ ๊ฐ์ง ๋ ์ ํํ๋ค. (test, testing, test-case) |
span[ class^="test" ] { color: red; } |
| $= | ์ ๋ฏธ์ฌ๋ก ๊ฐ์ ๊ฐ์ง ๋ ์ ํํ๋ค. (unit-test, latest, endtest) |
span[ class$="test" ] { color: red; } |
| *= | ๊ฐ์ด ํฌํจ๋ ๋ชจ๋ ์์๋ฅผ ์ ํํ๋ค. (_javascript_, introjavascript, javascript-basic) |
span[ class*="javascript" ] { color: red; } |
3. ์ฌ๋ฌ ์ ํ์์ ๊ฐ์ ๊ท์น ์ ์ฉํ๊ธฐ
์ฝค๋ง( , )๋ก ์ ํ์๋ฅผ ์ฌ๋ฌ ๊ฐ ์์ฑํ์ฌ, ์ฌ๋ฌ ์ ํ์์ ๊ฐ์ ๊ท์น์ ์ ์ฉํ ์ ์๋ค.
์ ํ์1,
์ ํ์2 {
...
}
/* ์ค์ ์์ */
h1, h2, p {
margin: 0;
}
4. ์ฌ๋ฌ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์๋ฅผ ์ ํํ๊ธฐ
์ฌ๋ฌ ์กฐ๊ฑด์ ๋์์ ๋ง์กฑํ๋ ์์๋ฅผ ์ ํํ๊ณ ์ถ์ ๋,
์ ํ์๋ฅผ ๋ถ์ฌ์ ์์ฑํ์ฌ ๊ท์น์ ์ ์ฉํ ์ ์๋ค.
<h2 id="apple" class="banana pear">์ฌ๊ณผ์ ๋ฐ๋๋์ ๋ฐฐ</h2>
#apple.pear { ... }
.banana.pear { ... }
h2#apple.banana.pear { ... }
2. ์์ ๊ฒฐํฉ์ (Child Combinator)
์ค๋ฅธ์ชฝ ๊บพ์ ( > )๋ก ์ ํ์๋ฅผ ์ด์ด์ ์์ฑํ๋ค.
ํน์ ๋ถ๋ชจ ์์์ ๋ฐ๋ก ์๋ ์์ ์์์ ๊ท์น์ ์ ์ฉํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค.
<div class="article">
<h2>this is article"</h2>
</div>
.article > h2 {
color: #dd2400;
}
3. ์์ ๊ฒฐํฉ์ (Descendant Combinator)
์คํ์ด์ค(๊ณต๋ฐฑ)์ผ๋ก ์ ํ์๋ฅผ ์ด์ด์ ์์ฑํ๋ค.
ํน์ ๋ถ๋ชจ ์์ ๋ด๋ถ์ ์๋ ์์์ ๊ท์น์ ์ ์ฉํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค.
<div class="article">
<p> ์ค๋์ ์ ๊ฐ ๊ฐ์ฅ์์ฐ์ฅ์ ๋จน์ด๋ณผ๊ฒ์."
<img src="soysauce-shirimp.png">
</p>
</div>
.article img {
width: 100%;
}
4. ๊ฐ์ ํด๋์ค (Pseudo-class)
์์์ ๋ณธ๋ ๋ชจ์ต์ด ์๋ ์ด๋ค ์ํ์ ๋ํด ์คํ์ผ๋ง์ ํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค.
์ ํ์ ์ด๋ฆ ๋ค์ ์ฝ๋ก ( : )๊ณผ ์ํ ํค์๋๋ฅผ ๋ถ์ฌ์ ์ฌ์ฉํ๋ค.
๋ํ์ ์ธ ์ํ๋ก ์๋์ ๋ค ๊ฐ์ง๊ฐ ์๋ค.
- :hover - ๋ง์ฐ์ค๋ฅผ ์ฌ๋ ธ์ ๋
- :active - ํด๋ฆญํ ์ํ
- :visited - ๋ฐฉ๋ฌธํ ์ ์ด ์๋ ๋งํฌ
- :focus - ํฌ์ปค์ฑ ๋์ ๋
a {
font-weight : 100;
}
a:hover {
font-weight : 900;
color : red;
}
5. ์ ํ์ ์ ์ฌ์ฉํ๊ธฐ
๋จ์ํ๊ฒ ์์ฑํ๊ธฐ
์ ํ์์ ์กฐํฉ ๋ฐฉ๋ฒ์ ์์์ ์์๋ดค์ง๋ง, ์ ํ์๋ ๊ฒฐํฉ์ ํ์ง ์๊ณ ์ต๋ํ ๋จ์ํ๊ฒ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
๋์ค์ ์ฝ๋๋ฅผ ๊ณ ์น ๋ ๊ฒฐํฉ์ผ๋ก ๊ผฌ์ฌ์์ผ๋ฉด ์์ ์ด ์ด๋ ต๊ธฐ ๋๋ฌธ์ด๋ค.
๋ฐ๋ผ์ ํด๋์ค์ ๊ฐ์ ํด๋์ค ์์ฃผ๋ก ์ฌ์ฉํ๋ฉด ์ข๋ค.
์ ์ฒด ์ ํ์ *
* ์ ํ์๋ ๋ชจ๋ ์์์ ๊ท์น์ ์ ์ฉํ๋ ์ ํ์์ด๋ค.
* {
box-sizing: border-box;
}
.section * {
color: gray;
}
์ฐธ๊ณ
codeit
'Style > CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| CSS : Position ์์ฑ (1) | 2025.07.30 |
|---|---|
| CSS : ์บ์ค์ผ์ด๋ (Cascade) : ์คํ์ผ ์ ์ฉ ์ฐ์ ์์ (3) | 2025.07.29 |
| CSS : display์ float (0) | 2025.07.28 |
| CSS : ๋ฐ์ค ๋ชจ๋ธ (Box Model) (1) | 2025.07.28 |
| CSS : ํ ์คํธ ์คํ์ผ๋ง ์์ฑ๋ค (3) | 2025.07.28 |
GitHub