Chapter 3-16. 의사요소와 의사클래스(CSS)

2025. 3. 31. 15:36·HTML & CSS

📌 CSS 의사 클래스 & 의사 요소 완벽 가이드

CSS 의사 클래스와 의사 요소는`1 웹 페이지에서 특정 상태나 부분에 스타일을 적용할 때 유용하게 사용됩니다. 이번 포스트에서는 이들에 대해 자세히 알아보고, 각 선택자가 실제로 어떻게 동작하는지 예시를 통해 설명하겠습니다.

 

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="utf-8">
        <meta charset="utf-8">
        <meta http-equiv="x-ua-compatible"
        contect="IE=edge"
        >        
        <title>의사클래스</title>
        <style>
            .menu{
                padding: 10px;
                border-bottom: 1px solid black;
            }
            
            .menu > li{
                display: inline-block;
                text-align: center;
            }

            li  > a{
                display: inline-block;
                width: 80px;
                padding: 10px;
                text-decoration: none;
            }

            a:hover{
                color: white;
                background-color: gray;
                font-size: 20px;
            }

            a:active{
                color: white;
                background-color: black;
                font-size: 20px;
            }
            /* n = 자연수 2n = 2의배수, 2n-1 홀수만 선택 */
            li:nth-child(3){
                font-size: 20px;
            }

            a::first-letter{
                color: red;
            }

            a::after{
                content:"보기";
                color: brown;                
            }

        </style>

    </head>
    <body>
       <ul class="menu">
        <li><a href="#">사전</a></li>
        <li><a href="#">뉴스</a></li>
        <li><a href="#">증권</a></li>
        <li><a href="#">지도</a></li>

    </body>
</html>

🎯 1. 의사 클래스 (Pseudo-classes)

의사 클래스는 요소의 특정 상태를 기반으로 스타일을 적용하는 선택자입니다. 예를 들어, 사용자가 마우스를 올리면 스타일을 변경하거나, 링크가 클릭되었을 때 스타일을 변경할 수 있습니다.

🔹 주요 의사 클래스

속성값설명
:hover 마우스 포인터가 요소에 올라가 있을 때 적용됩니다.
:active 요소가 활성화(클릭)된 상태일 때 적용됩니다.
:focus 요소가 포커스를 받을 때 적용됩니다.
:disabled 비활성화된 요소에 적용됩니다.
:nth-child() 형제 요소 중 순서에 맞는 요소를 선택합니다.

✅ 예시 (hover)

h1:hover {
  color: red;  /* 마우스를 올리면 글자가 빨간색으로 변함 */
}
  • hover 의사 클래스는 사용자가 h1 요소 위에 마우스를 올리면, 텍스트 색상을 빨간색으로 변경합니다.

🎯 2. 의사 요소 (Pseudo-elements)

의사 요소는 선택한 요소의 특정 부분에 스타일을 적용할 때 사용합니다. 예를 들어, 요소의 첫 번째 문자나 첫 번째 줄만 스타일을 지정할 수 있습니다.

🔹 주요 의사 요소

속성값설명

 

::after 요소의 뒤에 가상 요소를 추가합니다.
::before 요소의 앞에 가상 요소를 추가합니다.
::first-line 블록 요소의 첫 번째 줄에 스타일을 적용합니다.
::marker 목록 항목의 기호에 스타일을 적용합니다.
::placeholder 입력 필드의 플레이스홀더에 스타일을 적용합니다.

✅ 예시 (first-line)

li::first-line {
  font-size: 20px;  /* 첫 번째 글자 크기를 20px로 변경 */
}
  • ::first-line 의사 요소는 li 요소의 첫 번째 줄에만 스타일을 적용하여, 첫 번째 글자 크기를 20px로 변경합니다.

📝 3. 의사 클래스와 의사 요소 활용 예시

🔹 hover와 active

  • **hover**는 마우스 오버 상태에서 스타일을 변경하고,
  • **active**는 클릭 상태에서 스타일을 변경하는 데 사용됩니다.

✅ 예시 (active)

a:active {
  color: green; /* 클릭 시 링크 색상 변경 */
}

🔹 ::before와 ::after

  • **::before**와 **::after**는 요소의 앞이나 뒤에 콘텐츠를 추가할 때 사용됩니다. 이를 통해 아이콘이나 기타 요소를 추가할 수 있습니다.

✅ 예시 (before)

a::before {
  content: "🔗";  /* 링크 앞에 아이콘을 추가 */
}

🚩 4. 결론

  • 의사 클래스는 상태 기반으로 스타일을 적용하며, hover, active, focus 등이 대표적입니다.
  • 의사 요소는 특정 부분에 스타일을 적용하며, ::before, ::after, ::first-line 등이 있습니다.
  • CSS에서 의사 클래스와 의사 요소를 활용하면 상태 변화나 특정 부분 강조 등 다양한 스타일링이 가능합니다.

이제 의사 클래스와 의사 요소를 활용하여 웹 페이지의 디자인을 더욱 동적이고 정교하게 만들어 보세요! 🎨✨

'HTML & CSS' 카테고리의 다른 글

Chapter 3-15. 선택자 더 알아보기(CSS)  (0) 2025.03.31
Chapter 3-14. 겹치거나 넘치는 요소다루기<z-index,overflow>(CSS)  (0) 2025.03.31
Chapter 3-13. 위치 지정하기 <position>(CSS)  (0) 2025.03.31
Chapter 3-12. 문서의 흐름 <float>(CSS)  (0) 2025.03.31
Chapter 3-11. 요소의 유형 <display>(CSS)  (0) 2025.03.31
'HTML & CSS' 카테고리의 다른 글
  • Chapter 3-15. 선택자 더 알아보기(CSS)
  • Chapter 3-14. 겹치거나 넘치는 요소다루기<z-index,overflow>(CSS)
  • Chapter 3-13. 위치 지정하기 <position>(CSS)
  • Chapter 3-12. 문서의 흐름 <float>(CSS)
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (657) N
      • Python (32)
      • 프로젝트 (43)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11) N
      • 특강 (34)
      • 기술블로그 (36) N
      • 기술블로그-Fastapi편 (20) N
      • 기술블로그-Django편 (152) N
      • 기술블로그-Flask편 (35)
      • AI 분석 (4)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (72)
      • Fastapi (1) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
Chapter 3-16. 의사요소와 의사클래스(CSS)
상단으로

티스토리툴바