Notice
Recent Posts
Recent Comments
Link
Β«   2026/05   Β»
일 μ›” ν™” 수 λͺ© 금 ν† 
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
31
Tags
more
Archives
Today
Total
관리 메뉴

η„‘μ œ

Pseudo-elements (μ˜μ‚¬ μš”μ†Œ) λ³Έλ¬Έ

<style>

Pseudo-elements (μ˜μ‚¬ μš”μ†Œ)

yo-u-loo 2026. 3. 26. 12:41

 

🟒 Pseudo-elements

HTML λ¬Έμ„œμ—λŠ” μ‹€μ œλ‘œ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” κ°€μƒμ˜ μš”μ†Œλ₯Ό CSS둜 μƒμ„±ν•˜μ—¬ μŠ€νƒ€μΌμ„ μ μš©ν•˜λŠ” μš”μ†Œ.

 

1️⃣ λ‚΄μš© μ•žλ’€μ— μ½˜ν…μΈ λ₯Ό μΆ”κ°€ν•˜λŠ” 가상 μš”μ†Œ

/* 링크 μ•žμ— ν™”μ‚΄ν‘œ μ•„μ΄μ½˜ λ„£κΈ° */
a::before {
  content: "βž” ";
  color: blue;
}

/* ν•„μˆ˜ μž…λ ₯ ν•­λͺ© 뒀에 λΉ¨κ°„ λ³„ν‘œ λ„£κΈ° */
.required::after {
  content: "*";
  color: red;
}
  •  ::before: μ„ νƒν•œ μš”μ†Œμ˜ λ‚΄λΆ€ μ•žμ— 가상 μš”μ†Œ μΆ”κ°€.
  •  ::after: μ„ νƒν•œ μš”μ†Œμ˜ λ‚΄λΆ€ 뒀에 가상 μš”μ†Œ μΆ”κ°€.
    • νŠΉμ§•: λ°˜λ“œμ‹œ content 속성을 μΆ”κ°€ν•΄ λ‚΄μš©μ„ μž…λ ₯. ( πŸ‘‰ 이λͺ¨ν‹°μ½˜ μ‚½μž… 단좕킀 (win + .))
    • μš©λ„: μ•„μ΄μ½˜ μΆ”κ°€, 꾸밈 μš”μ†Œ(μž₯식선), λ‹¨μœ„ ν‘œμ‹œ(예: '원', '%') 등을 HTML μˆ˜μ • 없이 넣을 λ•Œ μ‚¬μš©.

 

2️⃣ κΈ€μž 및 μ˜μ—­ 선택 가상 μš”μ†Œ

/* λ¬Έλ‹¨μ˜ 첫 κΈ€μžλ₯Ό 크게 λ§Œλ“€κ³  λΉ¨κ°„μƒ‰μœΌλ‘œ λ³€κ²½ */
p::first-letter {
  font-size: 3em;
  color: red;
  float: left;
  margin-right: 5px;
}

/* λ“œλž˜κ·Έν–ˆμ„ λ•Œ 배경색과 κΈ€μžμƒ‰ λ³€κ²½ */
::selection {
  background-color: black;
  color: yellow;
}
  • ::first-line: μš”μ†Œμ˜ μ²« 번째 쀄 적용.
  • ::first-letter: μš”μ†Œμ˜ μ²« 번째 κΈ€μž 적용. (μ‹ λ¬Έμ΄λ‚˜ μž‘μ§€μ˜ 첫 κΈ€μž κ°•μ‘° 효과)
  • ::selection: μ‚¬μš©μžκ°€ 마우슀둜 λ“œλž˜κ·Έ(선택)된 μ˜μ—­ 적용.

 

3️⃣ κ·Έ μ™Έ

input::placeholder {
  color: gray;
}
  • ::placeholder: input νƒœκ·Έμ˜ placeholder 속성 ν…μŠ€νŠΈμ—λ§Œ μŠ€νƒ€μΌ 적용. (μž…λ ₯ 힌트 μŠ€νƒ€μΌλ§)

 

li::marker {
  color: red;
}
  • ::marker: 리슀트 μ•ž 점 μŠ€νƒ€μΌ 적용.

 


 

πŸ”₯  κ°€μƒ μš”μ†Œ μœ„μΉ˜μ‘°μ ˆ position πŸ”₯

.card {
  position: relative;
}

.card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.3);
}
/* μ˜€λ²„λ ˆμ΄ 효과 λ§Œλ“€ λ•Œ 자주 μ‚¬μš© */

 

https://yo-u-loo.tistory.com/35

 

CSS의 Position 속성

🟒 Position 속성 μš”μ†Œκ°€ λ¬Έμ„œ μ•ˆμ—μ„œ μ–΄λ–»κ²Œ μœ„μΉ˜ν• μ§€λ₯Ό μ •μ˜. πŸ”Ή position μ’…λ₯˜μ™€ νŠΉμ§• 속성값섀λͺ…top/right/bottom/left μ‚¬μš©λ¬Έμ„œ 흐름 영ν–₯ν™œμš© μ˜ˆμ‹œstatic일반 λ¬Έμ„œ νλ¦„λŒ€λ‘œ 배치 (κΈ°λ³Έκ°’)❌ λ¬΄μ‹œλ¨μΌ

yo-u-loo.tistory.com

 


 

πŸ“β€Š POINT πŸ“β€Š

βœ”οΈ 가상 μš”μ†ŒλŠ” 콜둠 2개(::)λ₯Ό μ‚¬μš©ν•˜μ—¬ μž‘μ„±ν•œλ‹€. βœ”οΈ

βœ”οΈ ::before 와 ::after λŠ” 기본적으둜 인라인(inline) μš”μ†Œλ‘œ, ν¬κΈ°λ₯Ό μ‘°μ ˆν•˜λ €λ©΄ display: blockμ΄λ‚˜ inline-block으둜 λ°”κΏ”μ•Ό ν•œλ‹€. βœ”οΈ

βœ”οΈ HTML μ½”λ“œλ₯Ό κΉ¨λ—ν•˜κ²Œ μœ μ§€ν•˜λ©΄μ„œ λ””μžμΈμ μΈ μš”μ†Œλ₯Ό λ„£κ³  싢을 λ•Œ μ‚¬μš©ν•˜λ©΄ μ’‹λ‹€. βœ”οΈ

 

 

πŸ“‹ 가상 μš”μ†Œ vs 가상 클래슀 ν•œλˆˆμ— 비ꡐ πŸ“‹

ꡬ뢄 가상 클래슀 (Pseudo-class) 가상 μš”μ†Œ (Pseudo-element)
기호 콜둠 1개 (:) 콜둠 2개 (::)
의미 νŠΉμ • μƒνƒœλ₯Ό 선택 νŠΉμ • λΆ€λΆ„을 μ„ νƒν•˜κ±°λ‚˜ μƒμ„±
μ˜ˆμ‹œ :hover, :nth-child ::before, ::after, ::selection
νŠΉμ§• μ‹€μ œλ‘œ μ‘΄μž¬ν•˜λŠ” μš”μ†Œμ˜ μƒνƒœ λ³€κ²½ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” μš”μ†Œλ₯Ό λ§Œλ“€κ±°λ‚˜ λΆ€λΆ„ μˆ˜μ •

 


 

βš™οΈ μ‹€μ „ 예제 μ½”λ“œ: 메뉴 ꡬ뢄선 λ§Œλ“€κΈ°  βš™οΈ

<style>
  .menu-list { list-style: none; display: flex; }
  .menu-list li { margin-right: 10px; position: relative; }

  /* λ§ˆμ§€λ§‰ ν•­λͺ©μ„ μ œμ™Έν•œ λͺ¨λ“  리슀트 뒀에 μ„Έλ‘œμ„  μΆ”κ°€ */
  .menu-list li:not(:last-child)::after {
    content: "|";
    margin-left: 10px;
    color: #ccc;
  }

  /* ν˜Έλ²„ μ‹œ 밑쀄 μ• λ‹ˆλ©”μ΄μ…˜μš© 가상 μš”μ†Œ */
  .menu-list li:hover::before {
    content: "";
    position: absolute;
    bottom: -5px;
    width: 100%;
    height: 2px;
    background-color: orange;
  }
</style>

<ul class="menu-list">
  <li>ν™ˆ</li>
  <li>μ†Œκ°œ</li>
  <li>μ„œλΉ„μŠ€</li>
  <li>문의</li>
</ul>

 

'<style>' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

Functions의 filter속성과 ν•¨μˆ˜  (0) 2026.03.27
transform 속성과 functions (ν•¨μˆ˜)  (0) 2026.03.26
Pseudo-class (μ˜μ‚¬ 클래슀)  (0) 2026.03.26
Attribute Selectors  (0) 2026.03.25
Combination Selector  (0) 2026.03.25