kohigowild
CSS κ°μ μμ(Pseudo-Element) λ³Έλ¬Έ
π κ°μ μμλ?
- μμ¬ μμλΌκ³ λ ν¨ ππ» https://developer.mozilla.org/ko/docs/Web/CSS/Pseudo-elements
- CSS κ°μ μμλ μ νμλ‘ μ νν μμμ μΆκ°νλ ν€μλλ‘ μ νν μμμ μ§μ λ λΆλΆμ μ€νμΌμ μ μ©νλ€.
- κ°μ ν΄λμ€(ex. :hover)μ²λΌ μ νμμ μΆκ°λκ³ , μ‘΄μ¬νμ§ μλ μμλ₯Ό μ‘΄μ¬νλ κ²μ²λΌ λΆμ¬νμ¬ HTMLμ μλ‘μ΄ μμλ₯Ό μΆκ°ν κ²μ²λΌ λμνλ€.
- λ§μ΄ μ¬μ©νλ κ°μ μμμ μ’ λ₯
::before | μμ μμ μλ‘μ΄ μ»¨ν μΈ μΆκ° |
::after | μμ λ€μ μλ‘μ΄ μ»¨ν μΈ μΆκ° |
::first-line | μΉ λΈλΌμ°μ μ 보μ΄λ μνλ₯Ό κΈ°μ€μΌλ‘ μμ ν μ€νΈ 첫 κΈμ μ ν |
::first-letter | μΉ λΈλΌμ°μ μ 보μ΄λ μνλ₯Ό κΈ°μ€μΌλ‘ μμ ν μ€νΈ 첫 μ€ μ ν |
π κ°μ μμ μμ± λ°©λ²
μ νμ::κ°μμμ {
μμ±: μμ±κ°;
}
κ°μ μμλ ν€μλ μμ μ΄μ€ μ½λ‘ (::)μ λΆμ¬ νκΈ°νλ€. CSS1κ³Ό CSS2μμλ λ¨μΌ μ½λ‘ μΌλ‘λ§ νκΈ°νμΌλ κ°μ ν΄λμ€μ ꡬλΆμ μν΄ CSS3λΆν°λ μ΄μ€ μ½λ‘ μΌλ‘ νκΈ°νλ κ²μ΄ νμ€ λ°©λ²μ΄λ€. λλΆλΆ λΈλΌμ°μ λ λ ꡬ문 λͺ¨λ μ§μνκ³ μμΌλ κ°κΈμ μ΄λ©΄ νμ€ λ°©λ²μ μ°λ κ²μ΄ μ’κ² λ€.
βπ» HTML
<p>Hello, </p>
βπ» CSS
p::after {
content:"mitt!";
color: green;
}
::after ꡬ문μ μ¬μ©ν΄ p νκ·Έ λ€μ “mitt!” μ΄λΌλ ν μ€νΈλ₯Ό μΆκ°νλ€.
βπ» Result
π κ°μ ν΄λμ€μ κ°μ μμλ₯Ό μ‘°ν©νμ¬ μ¬μ©ν΄ 보μ
βπ» HTML
<div class="container">
<p class="heart">π₯°</p>
<button>λ°λλλ€.</button>
</div>
βπ» CSS
button {
width: 320px;
height: 40px;
border: none;
background-color: red;
color: white;
}
button:hover::before {
content:'κΉμ₯μΌλ‘ ';
}
button:hover {
background-color: black;
}
.container:hover .heart::after {
content:'β€οΈβ€οΈβ€οΈβ€οΈβ€οΈβ€οΈβ€οΈβ€οΈβ€οΈβ€οΈβ€οΈβ€οΈβ€οΈβ€οΈ';
}
- λ²νΌμ λ§μ°μ€λ₯Ό μ¬λ¦¬λ©΄ ::before ꡬ문μ ν΅ν΄ button νκ·Έλ‘ λλ¬μΈμΈ “λ°λλλ€.” μμ “κΉμ₯μΌλ‘ “ ν μ€νΈκ° μΆκ°λλ€.
- ::before, ::afterλ κΈ°λ³Έμ μΌλ‘ μΈλΌμΈ μμμ΄κΈ° λλ¬Έμ λ²νΌ μ 체 μμμ λ³κ²½νκΈ° μν΄ νκ·Έλ₯Ό λ°λ‘ λΉΌμ μμ±νμλ€.
- λΆλͺ¨ ν΄λμ€ containerμ λ§μ°μ€λ₯Ό μ¬λ¦¬λ©΄ μμ ν΄λμ€μΈ heartμ ::afterλ‘ μΆκ°ν ννΈκ° λνλλ€.
βπ» Result
π§ κ°μ μμ μ νμλ‘ tooltipμ ꡬνν΄ λ³΄μ
βπ» HTML
<div>
<span data-tooltip="λλ₯">μ΄κ³³</span>μ λ§μ°μ€λ₯Ό μ¬λ¦¬λ©΄ λ§νμ μ΄ λνλ©λλ€.
</div>
βπ» CSS
span {
position: relative;
font-weight: 700;
color: green;
cursor: help;
}
span:hover::after {
content: attr(data-tooltip);
position: absolute;
top: 24px;
min-width: 50px;
border-radius: 10px;
background-color: green;
color: white;
padding: 12px;
z-index: 1;
}
- ::afterμ data-* μμ±μ μ¬μ©ν΄ tooltip λ΄μ©μ μΆκ°νλ€.
- position μμ±μ tooltipμ μμΉλ₯Ό κ°νΈνκ² μ‘°μ νκΈ° μν΄ μ¬μ©νμλ€.
- μ΄ κ²½μ° span νκ·Έ μμ λ§μ°μ€ 컀μλ₯Ό μ¬λ¦¬λ©΄ κ°μ ν΄λμ€μ μ§μ ν μμ± κ°μ λ°λΌ tooltipμ΄ λνλλ€.
βπ» Result
π§ ::afterλ‘ κ°μ²΄ μ¬μ΄μ ꡬλΆμ μ ꡬνν΄ λ³΄μ
βπ» HTML
<div class="container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
<div class="item">6</div>
</div>
βπ» CSS
body {
display: flex;
justify-content: center;
}
.container {
border: 1px solid red;
width: 320px;
text-align: center;
}
.item {
line-height: 200%;
}
.item:nth-child(3)::after{
content: '';
position: absolute;
left: 608px;
bottom: 150px;
width: 320px;
height: 1px;
background-color: gray;
}
βπ» Result
π§ κ°μ μμκ° μ μ©λμ§ μλ κ²½μ°
- κ°μ μμλ 컨ν μ΄λ μμ(ex. div, span…)μμλ§ μ μν μ μλ€.
- input, img κ°μ μμλ μ§μνμ§ μμΌλ, button νκ·Έμ κ²½μ° μ μκ° κ°λ₯νλ€.
- IE7 μ΄ν λ²μ μ μ§μνμ§ μκ³ , IE8 μ΄ν λ²μ μ CSS3μ μ§μνμ§ μμ λ¨μΌ μ½λ‘ λ§ μ§μνλ€.
'HTML | CSS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
HTML κ²μ μμ§ μ΅μ νμ μΉ νμ€μ± (0) | 2022.11.02 |
---|