8.1 ๊ธฐ๋ณธ ๊ฐ๋
CSS์์ ์์ฌ ํด๋์ค์ ์์ฌ ์์๋ฅผ ๊ฒฐํฉํ๋ฉด ์์์ ์ํ, ๊ตฌ์กฐ ๋ฐ ๋ด์ฉ์ ๋ฐ๋ผ ์คํ์ผ์ ์ ์ฉํ ์ ์๋ ๊ฐ๋ ฅํ๊ณ ์ ์ฐํ ์ ํ์๋ฅผ ๋ง๋ค ์ ์์ด. ๋๋ถ์ ๋ณต์กํ๊ณ ์ญ๋์ ์ธ ์คํ์ผ์ ์์ฑํ๊ฒ ๋๊ณ , ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ ์น ํ์ด์ง๋ ์ํธ์์ฉ ๊ฒฝํ์ ํฅ์์์ผ์ค.
๊ฒฐํฉ์ ๊ธฐ์ด
์์ฌ ํด๋์ค
์์ฌ ํด๋์ค๋ ์ฝ๋ก ํ๋๋ก ํ์๋๊ณ (:), ์์์ ์ํ๋ ์์น์ ๋ฐ๋ผ ์ ์ฉ๋ผ. ์๋ฅผ ๋ค๋ฉด:
:hover
โ ์์์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ ธ์ ๋ ์ ์ฉ๋จ:first-child
โ ๋ถ๋ชจ์ ์ฒซ ๋ฒ์งธ ์์์ ์ ํํจ
์์ฌ ์์
์์ฌ ์์๋ ๋ ๊ฐ์ ์ฝ๋ก (::)์ผ๋ก ํ์๋๊ณ , ์์์ ์ผ๋ถ๋ถ์ ์คํ์ผ๋งํ๊ฑฐ๋ ๋ด์ฉ์ ์ถ๊ฐํ๋ ๋ฐ ์ฌ์ฉ๋ผ. ์๋ฅผ ๋ค๋ฉด:
::before
โ ์์ ์์ ๋ด์ฉ์ ์ถ๊ฐํจ::first-letter
โ ์์์ ์ฒซ ๊ธ์๋ฅผ ์คํ์ผ๋งํจ
๊ฒฐํฉํ๊ธฐ
์์ฌ ํด๋์ค์ ์์ฌ ์์๋ ๊ฒฐํฉํด์ ์ํ์ ๊ตฌ์กฐ์ ๋ฐ๋ผ ์คํ์ผ์ ์ ์ฉํ ์ ์๋ ๋ณต์กํ ์ ํ์๋ฅผ ๋ง๋ค ์ ์์ด.
๋ฌธ๋ฒ:
์ ํ์:์์ฌํด๋์ค::์์ฌ์์ {
์์ฑ: ๊ฐ;
}
8.2 ์ํธ์์ฉ์ ์ํ ๊ฒฐํฉ
์์ 1: ๋ง์ฐ์ค๋ฅผ ์ฌ๋ ธ์ ๋ ์ฒซ ๊ธ์ ์คํ์ผ๋งํ๊ธฐ
์ด ์์ ์์๋ ๋ฌธ๋จ์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ฆฌ๋ฉด ์ฒซ ๊ธ์๊ฐ ์ปค์ง๊ณ ๋นจ๊ฐ์์ผ๋ก ๋ณํด:
/* ๋ฌธ๋จ์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ฆด ๋ ์ฒซ ๋ฒ์งธ ๊ธ์ ์คํ์ผ๋ง */
p:hover::first-letter {
font-size: 2em;
color: #e74c3c;
}
<p>Hover over this paragraph to see the first letter change.</p>
์์ 2: ํฌ์ปค์ค๊ฐ ์์ ๋ ๋งํฌ ์์ ๋ด์ฉ ์ถ๊ฐํ๊ธฐ
์ด ์์ ์์๋ ๋งํฌ์ ํฌ์ปค์ค๊ฐ ์์ ๋ ๋งํฌ ์์ ์์ด์ฝ์ ์ถ๊ฐํ๊ณ ํ๋์์ผ๋ก ๋ณํด:
/* ํฌ์ปค์ค๊ฐ ์์ ๋ ๋งํฌ ์์ ์์ด์ฝ ์ถ๊ฐ */
a:focus::before {
content: "๐ ";
color: #3498db;
}
8.3 ๊ตฌ์กฐ ์คํ์ผ๋ง์ ์ํ ๊ฒฐํฉ
์์ 3: div ์์ ์ฒซ ๋ฒ์งธ ๋ฌธ๋จ์ ๋ด์ฉ ์ถ๊ฐํ๊ธฐ
์ด ์์ ์์๋ div
์์ ์ฒซ ๋ฒ์งธ ๋ฌธ๋จ์ ์ฒซ ์ค์ ๊ตต๊ฒ ํ๊ณ ๋
น์์ผ๋ก ๋ณํด:
/* div ์์ ์ฒซ ๋ฒ์งธ ๋ฌธ๋จ์ ์ฒซ ์ค ์คํ์ผ๋ง */
div p:first-child::first-line {
font-weight: bold;
color: #2ecc71;
}
์์ 4: ๋ฆฌ์คํธ์ ๋ง์ง๋ง ์์ ๋ค์ ์ฅ์ ์์ ์ถ๊ฐํ๊ธฐ
์ด ์์ ์์๋ ๋ฆฌ์คํธ์ ๋ง์ง๋ง ์์ ๋ค์ ์ฅ์ ์์๋ฅผ ์ถ๊ฐํ๊ณ ๋นจ๊ฐ์์ผ๋ก ๋ณํด:
/* ๋ฆฌ์คํธ์ ๋ง์ง๋ง ์์ ๋ค์ ์ฅ์ ์์ ์ถ๊ฐ */
ul li:last-child::after {
content: "โฆ";
display: inline-block;
margin-left: 10px;
color: #e74c3c;
}
8.4 ๋ณต์กํ ์กฐ๊ฑด์ ์ํ ๊ฒฐํฉ
์์ 5: ์ง์ ๋ฆฌ์คํธ ์์์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ ธ์ ๋ ์คํ์ผ๋งํ๊ธฐ
์ด ์์ ์์๋ ์ง์ ๋ฆฌ์คํธ ์์์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ฆฌ๋ฉด ๋ฐ์ ํ์ ๋ฐฐ๊ฒฝ๊ณผ ํ๋์ ํ ์คํธ๊ฐ ์ ์ฉ๋ผ:
/* ์ง์ ๋ฆฌ์คํธ ์์์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ ธ์ ๋ ์คํ์ผ๋ง */
ul li:nth-child(even):hover {
background-color: #f0f0f0;
color: #3498db;
}
์์ 6: ๋ฐฉ๋ฌธํ ์ํ์ ํ์ฑ ๋งํฌ ์คํ์ผ๋งํ๊ธฐ
์ด ์์ ์์๋ ๋ฐฉ๋ฌธํ ํ ํ์ฑ ์ํ์ธ ๋งํฌ๋ฅผ ์ฃผํฉ์์ผ๋ก ๋ณํ๊ณ ๋ฐ์ค์ ์ถ๊ฐํด:
/* ๋ฐฉ๋ฌธํ ์ํ์ ํ์ฑ ๋งํฌ ์คํ์ผ๋ง */
a:visited:active {
color: #e67e22;
text-decoration: underline;
}
8.5 ์ ์ฒด ๊ตฌํ ์์
/* div ์์ ์ฒซ ๋ฒ์งธ ๋ฌธ๋จ์ ์ฒซ ์ค ์คํ์ผ๋ง */
div p:first-child::first-line {
font-weight: bold;
color: #2ecc71;
}
/* ๋ฆฌ์คํธ์ ๋ง์ง๋ง ์์ ๋ค์ ์ฅ์ ์์ ์ถ๊ฐ */
ul li:last-child::after {
content: "โฆ";
display: inline-block;
margin-left: 10px;
color: #e74c3c;
}
/* ์ง์ ๋ฆฌ์คํธ ์์์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ ธ์ ๋ ์คํ์ผ๋ง */
ul li:nth-child(even):hover {
background-color: #f0f0f0;
color: #3498db;
}
/* ํฌ์ปค์ค๊ฐ ์์ ๋ ๋งํฌ ์์ ์์ด์ฝ ์ถ๊ฐ */
a:focus::before {
content: "๐ ";
color: #3498db;
}
/* ๋ฌธ๋จ์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ฆด ๋ ์ฒซ ๋ฒ์งธ ๊ธ์ ์คํ์ผ๋ง */
p:hover::first-letter {
font-size: 2em;
color: #e74c3c;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>์์ฌ ํด๋์ค ๋ฐ ์์ฌ ์์ ๊ฒฐํฉ ์์ </title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div>
<p>์ด๊ฒ์ div ์์ ์ฒซ ๋ฒ์งธ ๋ฌธ๋จ์
๋๋ค.</p>
<p>์ด๊ฒ์ div ์์ ๋ ๋ฒ์งธ ๋ฌธ๋จ์
๋๋ค.</p>
</div>
<ul>
<li>๋ฆฌ์คํธ ์์ 1</li>
<li>๋ฆฌ์คํธ ์์ 2</li>
<li>๋ฆฌ์คํธ ์์ 3</li>
<li>๋ฆฌ์คํธ ์์ 4</li>
</ul>
<a href="#">ํฌ์ปค์ค๊ฐ ์์ ๋ ์์ด์ฝ์ด ์๋ ๋งํฌ</a>
<p>์ฒซ ๊ธ์๊ฐ ๋ณํ๋ ํจ๊ณผ๋ฅผ ๋ณด๋ ค๋ฉด ์ด ๋ฌธ๋จ ์๋ก ๋ง์ฐ์ค๋ฅผ ์ฌ๋ ค๋ณด์ธ์.</p>
</body>
</html>
GO TO FULL VERSION