V. κ³ κΈμ νμ - 3. κ°μ ν΄λμ€μ κ°μ μμ
μ νμλ‘ μ€νμΌμ μ§μ νκΈ° μ΄λ €μ΄ λμμ΄ μλ€. λ©λ΄μ λͺ λ²μ§Έ νλͺ©μ μ§μ νκ±°λ, λ¨λ½μ 첫 λ²μ§Έ κΈμλ§ μ§μ ν κ²½μ°μ΄λ€. μ΄λ΄ λλ ν΄λμ€ μ΄λ¦ μμ μ½λ‘ μ νκ°λ§ λΆμ¬ νμνλ κ°μ ν΄λμ€μ λκ° λΆμ΄ νμνλ κ°μ μμλ₯Ό μ¬μ©νλ©΄ ν΄κ²°ν μ μλ€.
μ¬μ©μ λμμ λ°μνλ κ°μ ν΄λμ€
μ¬μ©μκ° μΉ μμλ₯Ό ν΄λ¦νκ±°λ λ§μ°μ€ ν¬μΈν°λ₯Ό μ¬λ €λλ λ± νΉμ λμμ ν λ μ€νμΌμ΄ λ°λλλ‘ λ§λ€κ³ μΆλ€λ©΄ κ°μ ν΄λμ€ μ νμλ₯Ό μ¬μ©νμ.
λ€μμ μμ£Ό μ¬μ©νλ κ°μ ν΄λμ€ μ νμμ΄λ€.
β λ°©λ¬Ένμ§ μμ λ§ν¬μ μ€νμΌμ μ μ©νλ ':link κ°μ ν΄λμ€ μ νμ'
μΉ λ¬Έμμ λ§ν¬ μ€μμ μ¬μ©μκ° μμ§ λ°©λ¬Ένμ§ μμ λ§ν¬μ μ€νμΌμ μ μ©νλ€.
ν
μ€νΈ λ§ν¬λ κΈ°λ³Έμ μΌλ‘ νλμ κΈμμ λ°μ€λ‘ νμλλ€.
μ΄λ λ§ν¬μ λ°μ€μ μμ κ±°λ μμμ λ°κΎΈλ €λ©΄ ':link μ νμ'λ₯Ό μ¬μ©νλ€.
β‘λ°©λ¬Έν λ§ν¬μ μ€νμΌμ μ μ©ν ':visited κ°μ ν΄λμ€ μ νμ'
μΉ λ¬Έμμ λ§ν¬ μ€μμ ν λ² μ΄μ λ°©λ¬Έν λ§ν¬μ μ€νμΌμ μ μ©νλ€.
ν λ² μ΄μ λ°©λ¬Έν ν μ€νΈ λ§ν¬λ 보λΌμμ΄ κΈ°λ³Έκ°μ΄λ€.
μ΄λ μ¬μ©μκ° λ°©λ¬Έν ν μ€νΈ λ§ν¬μ μμμ΄ λ¬λΌμ§μ§ μκ² νλΌλ©΄ μ΄ μ νμλ₯Ό μ¬μ©ν΄ μ‘°μ νλ€.
β’νΉμ μμμ λ§μ°μ€ ν¬μΈν°λ₯Ό μ¬λ €λμΌλ©΄ μ€νμΌμ μ μ©νλ ':hover κ°μ ν΄λμ€ μ νμ
μ΄ μ νμλ μΉ μμ μλ‘ λ§μ°μ€ν¬μΈν°λ₯Ό μ¬λ €λμ λ μ€νμΌμ μ μ©νλ€.
μ¦, μ΄ κ°μ ν΄λμ€ μ νμλ₯Ό μμ©νλ©΄ μ΄λ―Έμ§ μλ‘ λ§μ°μ€ ν¬μΈν°λ₯Ό μ¬λ €λμμ λ λ€λ₯Έ μ΄λ―Έμ§λ‘ λ°λκ±°λ, λ©μΈ λ©λ΄ μλ‘ λ§μ°μ€ ν¬μΈν°λ₯Ό μ¬λ €λμμ λ μλΈλ©λ΄κ° λνλλ ν¨κ³Όλ₯Ό λ§λ€ μ μλ€.
β£μΉ μμλ₯Ό νμ±ννμ λ μ€νμΌμ μ μ©νλ ':active κ°μ ν΄λμ€ μ νμ'
μ΄ μ νμλ μΉ μμμ λ§ν¬λ μ΄λ―Έμ§ λ±μ νμ±ννμ λ, μ¦ ν΄λ¦νμ λ μ€νμΌμ μ§μ νλ€.
μλ₯Ό λ€μ΄ μ΄λ€ μΉ μμμ λ§ν¬λ₯Ό ν΄λ¦νλ μκ°μ μ€νμΌμ μ§μ ν μ μλ€.
β€μΉ μμμ μ΄μ μ΄ λ§μΆμ΄μ‘μ λ μ€νμΌμ μ μ©νλ ':focus κ°μ ν΄λμ€ μ νμ'
μ΄ μ νμλ μΉ μμμ μ΄μ μ΄ λ§μΆμ΄μ‘μ λ μ€νμΌμ μ μ©νλ€.
μλ₯Ό λ€μ΄ ν μ€νΈ νλ μμ λ§μ°μ€ ν¬μΈν°λ₯Ό μ¬λ €λ건, μΉ λ¬Έμμμ Tab μ λλ¬ μ λ ₯ 컀μλ₯Ό μ΄λνμ λ μ€νμΌμ μ§μ νλ€.
μ§κΈκΉμ§ μ€λͺ ν 1~4λ²μ κ°μ ν΄λμ€ μ νμλ λ©λ΄ λ§ν¬μμ μμ£Ό μ¬μ©νλλ° μ΄λ λ€μκ³Ό κ°μ μμλ‘ μ μν΄μΌ νλ€.
μ΄ μμκ° λ°λλ©΄ μ€νμΌμ μ μνλλΌλ μ λλ‘ μ μ©λμ§ μλλ€.
1. link 2. visited 3. hover 4. active
λ€μμ κ°μ ν΄λμ€ μ νμλ₯Ό μ¬μ©ν΄μ λ©λ΄μ ν μ€νΈλ₯Ό μν©μ λ°λΌ λ€λ₯΄κ² νννλ μμ μ΄λ€.
λ¨Όμ λ§ν¬μ λ°©λ¬Ένλ λ§ν¬μ ν μ€νΈλ λ°μ€μ μμ€λ€.
κ·Έλ¦¬κ³ λ§ν¬ μλ‘ λ§μ°μ€ ν¬μΈν°λ₯Ό μ¬λ €λμΌλ©΄ μ§μ νμ λ°°κ²½μ νμ κΈμλ‘ λ°λκ³ ,
ν΄λ¦νλ μκ° λ°°κ²½μ΄ λΉ¨κ°μμΌλ‘ λ°λλ€.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>Html-basic</title>
<style>
.navi ul li {
float: left;
width: 150px;
padding: 10px;
}
.navi a:link, .navi a:visited {
display: block;
font-size: 14px;
color: black;
padding: 10px;
text-decoration: none;
text-align: center;
}
.navi a:hover, .navi a:focus{
background-color: #222;
color: white;
}
.navi a:active{
background-color: #f00;
}
</style>
</head>
<body>
<nav class="navi">
<ul>
<li><a href="#">μ΄μ© μλ΄</a></li>
<li><a href="#">κ°μ€ μκ°</a></li>
<li><a href="#">μμ½ λ°©λ² λ° μκΈ</a></li>
<li><a href="#">μμ½νκΈ°</a></li>
</ul>
</nav>
</body>
</html>
μμ μνμ λ°λ₯Έ κ°μ ν΄λμ€
μΉ μ¬μ΄νΈλ μ ν리μΌμ΄μ νλ©΄μμ μμμ μνμ λ°λΌ μ€νμΌμ μ μ©ν μ μλλ°, μ΄λ κ°μ ν΄λμ€ μ νμλ₯Ό μ¬μ©νλ€.
-μ΅μ»€ λμμ μ€νμΌμ μ μ©νλ ':target κ°μ ν΄λμ€ μ νμ'
λ¬Έμμμ κ°μ μ¬μ΄νΈλ λ€λ₯Έ μ¬μ΄νΈμ νμ΄μ§λ‘ μ΄λν λμλ λ§ν¬λ₯Ό μ΄μ©νκ³ , κ°μ λ¬Έμ μμμ λ€λ₯Έ μμΉλ‘ μ΄λν λμλ μ΅μ»€λ₯Ό μ΄μ©νλ€. (λͺ©μ μ§μ μμμ idλ₯Ό λΆμ¬νκ³ , μ΅μ»€μλ hrefμ μμ±κ°μΌλ‘ "#λͺ©μ μ§μμ΄λ" λ₯Ό μ§μ νλ©΄ μ΅μ»€κ° μμ±λλ€.)
μ΄λ :target μ νμλ₯Ό μ¬μ©νλ©΄ μ΅μ»€λ‘ μ°κ²°λ λΆλΆ, μ¦ μ΅μ»€μ λͺ©μ μ§κ° λλ λΆλΆμ μ€νμΌμ μ½κ² μ μ©ν μ μλ€.
μ΅μ»€λ₯Ό μ΄μ©ν΄ introλΌλ μμΉλ‘ λ§ν¬ν κ²½μ° intro μμμ μ€νμΌμ λ°κΎΈκ³ μΆλ€λ©΄ :target μ νμλ₯Ό μ¬μ©ν΄ λ€μ μμ μ κ°μ΄ μμ±ν μ μλ€.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>Html-basic</title>
<style>
p {
white-space: normal;
word-break: break-all;
}
#d:target{
background-color: blue;
color: white
}
</style>
</head>
<body style="width:200px;">
<ul>
<li><a href="#a">A</a></li>
<li><a href="#b">B</a></li>
<li><a href="#c">C</a></li>
<li><a href="#d">D</a></li>
</ul>
<p id="a">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>
<p id="b">bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</p>
<p id="c">ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc</p>
<p id="d">ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd</p>
</body>
</html>
μμμ μ¬μ© μ¬λΆμ λ°λΌ μ€νμΌμ μ μ©νλ ':enabledμ :disabled κ°μ ν΄λμ€ μ νμ;
ν΄λΉ μμκ° μ¬μ© κ°λ₯ν μνμΌ λ μ€νμΌμ μ§μ νλ €λ©΄ :enabled μ νμλ₯Ό μ¬μ©νκ³ , λ°λλ‘ μ¬μ©ν μ μλ μνμΌ λ μ€νμΌμ μ§μ νλ €λ©΄ : disabled μ νμλ₯Ό μ¬μ©νλ€.
μλ₯Ό λ€μ΄ ν μ€νΈ μμ νλ(textarea)λ₯Ό μ¬μ©ν΄ νμ μ½κ΄μ λ³΄μ¬ μ€ λλ μ¬μ©μκ° μ λ ₯ν μ μλλ‘ disabled μμ±μ μ§μ ν΄μΌ νλ€. μ΄λ :disabled μ νμλ₯Ό μ¬μ©νλ©΄ μ΄λ° ν μ€νΈ μμ νλμ μ€νμΌμ μ½κ² μ μ©ν μ μλ€.
μ νν νλͺ©μ μ€νμΌμ μ μ©νλ ':checked κ°μ ν΄λμ€ μ νμ'
νΌμ λΌλμ€ λ°μ€λ μ²΄ν¬ λ°μ€μμ μ νλ νλͺ©μλ checked λΌλ μμ±μ΄ μΆκ°λ©λλ€. μ΄λ κ² checked μμ±μ΄ μλ μμμ μ€νμΌμ μ§μ ν λ :checked μ νμλ₯Ό μ¬μ©νλ©΄ νΈλ¦¬ν©λλ€.
μλ₯Ό λ€μ΄ λΌλμ€ λ²νΌμ ν΄λ¦νμ λ λ μ΄λΈμ λΉ¨κ°μ κ΅΅μ κΈμλ‘ λ°κ΅¬λ €λ©΄ λ€μκ³Ό κ°μ΄ μ λ ₯ν©λλ€. μ¬κΈ°μλ <input> κ³Ό <label> νκ·Έκ° νμ κ΄κ³μ΄λ―λ‘ + μ νμλ₯Ό μ¬μ©ν©λλ€.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>Html-basic</title>
<style>
#signup input:checked + label{
color: red;
font-weight: bold;
}
</style>
</head>
<body>
<form action="" id="signup">
<input type="radio" name="room" value="basic" id="basic">
<label for="basic">κΈ°λ³Έν(μ΅λ 2μΈ)</label>
<input type="radio" name="room" value="family" id="family">
<label for="family">κ°μ‘±ν(μ΅λ 4μΈ)</label>
</form>
</body>
</html>
νΉμ μμλ₯Ό μ μΈνκ³ μ€νμΌμ μ μ©νλ ':not κ°μ ν΄λμ€ μ νμ'
:not μ νμλ μ΄λ¦μμλ μ μ μλ―μ΄ λΆμ μ μλ§κΈ° μλ€. μ¬κΈ°μ notμ 'κ΄νΈ μμ μλ μμλ₯Ό μ μΈν'μ΄λΌλ μλ―Έμ΄λ€.
νΌμ ν μ€νΈ νλ, μ νλ²νΈ νλ, λΌλμ€ λ²νΌμ΄ μλ€κ³ νμ. μ΄ μ€μμ ν μ€νΈμ μ νλ²νΈ νλμ μ€νμΌμ μ μ©νλ €λ©΄ μ΄λ»κ² νλ©΄ λ κΉ?
μμ± μ νμλ₯Ό μ¬μ©ν΄μ ν μ€νΈμ μ νλ²νΈ νλλ₯Ό μ νν λ€ μ€νμΌμ λΆμ¬νλ κ²λ λ¬Όλ‘ κ°λ₯ν κ²μ΄λ€.
νμ§λ§ :not μ νμλ₯Ό μ¬μ©νλ©΄ λ νΈλ¦¬νκ² μ΄ μμ μ μνν μ μλ€.
λΌλμ€ νλκ° μλ νλλ₯Ό μ ννλ κ²μ΄λ€.
μλ λ μ½λλ κ²°κ³Όμ μΌλ‘ κ°μ κΈ°λ₯μ μννλ€.
#signup input[type=text], input[type=tel] {
border: 1px solid white;
padding: 5px;
width: 200px;
}
#signup input:not([type=radio]){
border: 1px solid white;
padding: 5px;
width: 200px;
}
ꡬ쑰 κ°μ ν΄λμ€
ꡬ쑰 κ°μ ν΄λμ€λ μΉ λ¬Έμμ ꡬ쑰λ₯Ό κΈ°μ€μΌλ‘ νΉμ μμΉμ μλ μμλ₯Ό μ°Ύμ μ€νμΌμ μ μ©ν λ μ¬μ©νλ κ°μ ν΄λμ€ μ νμμ΄λ€.
νΉμ μμΉμ μμ μμ μ ννκΈ°
μΉ λ¬Έμμμ νΉμ μμμ μ€νμΌμ μ μ©νλ €λ©΄ λ³΄ν΅ classλ id μ νμλ₯Ό μ¬μ©νλ€. νμ§λ§ μμκ° μ¬λ¬ κ° λμ΄λμ΄ μλ κ²½μ°μλ classλ idλ₯Ό μ¬μ©νμ§ μκ³ λ μ€νμΌμ μ§μ ν μμκ° λͺ λ²μ§ΈμΈμ§λ₯Ό λ°μ Έμ μ€νμΌμ μ μ©ν μ μλ€.
λ€μ νλ ꡬ쑰 κ°μ ν΄λμ€ μ νμμ μ’ λ₯λ₯Ό μ 리ν κ²μ΄λ€.
μ’ λ₯ | μ€λͺ |
:only-child | λΆλͺ¨ μμ μμ μμκ° νλλΏμΌ λ μμ μμλ₯Ό μ ννλ€. |
A:only-type-of | λΆλͺ¨ μμ A μμκ° νλλΏμΌ λ μ ννλ€ |
:first-child | λΆλͺ¨ μμ μλ μμ μ€μμ 첫 λ²μ§Έ μμ μμλ₯Ό μ ννλ€ |
:last-child | λΆλͺ¨ μμ μλ λͺ¨λ μμ μ€μμ λ§μ§λ§ μμ μμλ₯Ό μ ννλ€ |
A:first-of-type | λΆλͺ¨ μμ μλ A μμ μ€μμ 첫 λ²μ§Έ μμλ₯Ό μ ννλ€. |
A:last-of-type | λΆλͺ¨ μμ μλ A μμ μ€μμ λ§μ§λ§ μμλ₯Ό μ ννλ€. |
:nth-child(n) | λΆλͺ¨ μμ μλ λͺ¨λ μμ μ€μμ nλ²μ§Έ μμ μμλ₯Ό μ ννλ€. |
:nth-last-child(n) | λΆλͺ¨ μμ μλ λͺ¨λ μμ μ€μμ λμμ nλ²μ§Έ μμ μμλ₯Ό μ ννλ€. |
A:nth-of-type(n) | λΆλͺ¨ μμ μλ A μμ μ€μμ nλ²μ§Έ μμλ₯Ό μ νν©λλ€ |
A:nth-last-of-type(n) | λΆλͺ¨ μμ΄ μλ A μμ μ€μμ λμμ nλ²μ§Έ μμλ₯Ό μ νν©λλ€. |
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>Html-basic</title>
<style>
.contents :nth-child(3){
color: red;
}
.contents p:nth-of-type(3){
color: blue;
}
</style>
</head>
<body>
<div class="contents">
<h1>μ λͺ© 1</h1>
<p>λ¬Έλ¨ 1</p>
<p>λ¬Έλ¨ 2</p>
<h1>μ λͺ© 2</h1>
<p>λ¬Έλ¨ 3</p>
<p>λ¬Έλ¨ 4</p>
</div>
</body>
</html>
μμμ μ¬μ©ν΄ μμΉ μ§μ νκΈ°
μμΉλ₯Ό μ§μ ν λ :nth-child(n) μ νμμ²λΌ μμΉλ₯Ό μ νν μλ € μ€ μλ μμ§λ§ 1,3,5λ²μ¨° μ²λΌ μμΉκ° κ³μ λ°λλ€λ©΄ λ°λ³΅λ κ·μΉμ μ°Ύμμ an+b μ²λΌ μμμ μ¬μ©ν μλ μλ€.
μ΄λ nκ°μ 0λΆν° μμνλ€.
λλ νμ λ²μ§Έμ μ€νμΌμ μ€ λλ :nth-child(odd), μ§μμ§Έμλ :nth-child(even)μ μ¬μ©ν μ μλ€.
/* νμμΌλ */
div p:nth-child(odd), div p:nth-child(2n+1)
/* μ§μμΌλ */
div p:nth-child(even), div p:nth-child(2n)
κ°μ μμ
κ°μ ν΄λμ€κ° μΉ λ¬Έμμ μ¬λ¬ μμ μ€μμ μνλ μμλ₯Ό μ ννλ€λ©΄, κ°μ μμλ λ¬Έμ μμ νΉμ λΆλΆμ μ€νμΌμ μ§μ νκΈ° μν΄ κ°μμΌλ‘ μμλ₯Ό λ§λ€μ΄ μΆκ°νλ€.
κ°μ μμλ₯Ό λ§λ€μ΄ μ¬μ©νλ μ΄μ λ νΉλ³ν νλ©΄μ 보μ΄λ λΆλΆμ κΎΈλ° λ λΆνμν νκ·Έλ₯Ό μ¬μ©νμ§ μλλ‘ νκΈ° μν κ²μ΄λ€.
κ°μ μμλ κ°μ ν΄λμ€μ ꡬλ³νλλ‘ κ°μ μμ μ΄λ¦ μμ μ½λ‘ λκ°λ₯Ό λΆμ¬μ μ¬μ©νλ€.
λ€μμ μμ£Ό μ¬μ©νλ κ°μ μμμ΄λ€.
첫 λ²μ§Έ μ€, 첫 λ²μ§Έ κΈμμ μ€νμΌμ μ μ©νλ '::first-line μμ, ::first-letter μμ'
::first-line μμμ ::first-letter μμλ₯Ό μ¬μ©νλ©΄ μ§μ ν μμμ 첫 λ²μ§Έ μ€μ΄λ 첫 λ²μ§Έ κΈμμ μ€νμΌμ μ μ©ν μ μλ€.
::first-letter μμλ ν΄λΉ μμμ 첫 λ²μ§Έ κΈμλ₯Ό κ°λ¦¬ν€λ λ°, 첫 λ²μ§Έ κΈμλ λ°λμ 첫 λ²μ§Έ μ€μ μμ΄μΌ νλ€.
λ§μ½ <p> νκ·Έ μμ <br> νκ·Έκ° μμ΄μ 첫 λ²μ§Έ κΈμκ° μ²« λ²μ§Έ μ€μ μμ κ²½μ°μλ μ μ©ν μ μλ€.
λ΄μ© μλ€μ μ½ν μΈ λ₯Ό μΆκ°νλ '::before μμ, ::after μμ'
::before μμμ ::after μμλ₯Ό μ¬μ©νλ©΄ μ§μ ν μμμ λ΄μ© μλ€μ μ€νμΌμ λ£μ μ μλ€.
μ΄ μμλ₯Ό μ¬μ©νλ©΄ μμμ μλ€μ ν μ€νΈλ μ΄λ―Έμ§ λ±μ μΆκ°ν μ μλ€.
λ€μμ ::after μμλ₯Ό μ¬μ©ν΄μ μ ν λͺ©λ‘μ 'NEW!!' λΌλ ν μ€νΈλ₯Ό μΆκ°ν μμ μ λλ€.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>Html-basic</title>
<style>
ul li.new::after {
content: "NEW!!";
font-size: x-small;
padding: 2px 4px;
margin: 0 10px;
border-radius: 2px;
background: red;
color: white;
}
</style>
</head>
<body>
<div class="container">
<h1>μ ν λͺ©λ‘</h1>
<ul>
<li class="new">μ ν A</li>
<li>μ ν B</li>
<li>μ ν C</li>
<li class="new">μ ν D</li>
</ul>
</div>
</body>
</html>