[CSS] #03 CSS 기초이해, CSS 선택자 완벽 정리! 기본 선택자부터 가상 클래스까지 한 번에 배우기

2025. 8. 13. 18:00·Web Front/CSS
반응형

 

 

안녕하세요, 토스트데브입니다!
CSS에서 스타일을 적용하기 위해서는 "어떤 요소에 적용할지"를 먼저 정확히 지정해야 합니다.
바로 이때 사용하는 것이 선택자(Selector)입니다.

선택자는 HTML 요소를 정확하게 찾아내고, 그 요소에 스타일을 입히는 역할을 합니다.
이번 글에서는 가장 많이 쓰이는 기본 선택자부터 고급 선택자까지 단계별로 정리해드릴게요!

 

 

1️⃣ 선택자란?

선택자(Selector)는 HTML 문서에서 스타일을 적용할 대상 요소를 지정하는 데 사용됩니다.
즉, CSS에서 선택자 { 속성: 값; } 형태로 스타일 규칙을 작성하면, 선택자에 해당하는 HTML 요소에 스타일이 적용됩니다.

✅ 예시:

p {
  color: blue;
}

👉 모든 <p> 태그에 파란색 글씨를 적용함.

 

 

2️⃣ 기본 선택자

✅ 태그 선택자 (Type Selector)

HTML 태그 이름을 그대로 선택자로 사용

h1 {
  font-size: 32px;
}

 

✅ 클래스 선택자 (.class)

HTML 요소에 부여한 클래스 속성을 기준으로 선택

.title {
  color: red;
}
<p class="title">이 문장은 클래스 선택자에 의해 스타일이 적용됨</p>

 

✅ 아이디 선택자 (#id)

HTML 요소의 고유한 id 값을 기준으로 선택

#main {
  background-color: lightgray;
}
<div id="main">아이디 선택자 적용</div>

 

 

3️⃣ 결합자(Combinator) 선택자

HTML 구조를 기반으로 요소 간 관계를 활용해 선택할 수 있습니다.

선택자 설명 예시
A B A의 자손(하위 모든 요소 중 B) div p {}
A > B A의 직계 자식 B ul > li {}
A + B A 바로 뒤의 형제 요소 B h1 + p {}
A ~ B A 이후에 나오는 형제 요소 B 전체 h1 ~ p {}

 

 

4️⃣ 속성 선택자

HTML 요소의 속성(attribute)을 기준으로 스타일 지정

input[type="text"] {
  border: 1px solid #ccc;
}

👉 type="text"인 <input> 요소만 선택

기타 예시:

a[target="_blank"] { color: green; }

 

 

5️⃣ 가상 클래스 선택자 (Pseudo-class)

HTML 요소의 특정 상태를 선택

선택자 설명
:hover 마우스를 올렸을 때
:active 클릭 순간
:focus 입력 요소에 포커스 됐을 때
:first-child 형제 중 첫 번째 요소
:last-child 형제 중 마지막 요소
:nth-child(n) n번째 자식 요소

✅ 예시

a:hover {
  text-decoration: underline;
}

 

 

6️⃣ 가상 요소 선택자 (Pseudo-element)

HTML 요소 내부의 특정 부분에 스타일 적용

선택자 설명
::before 요소 앞에 콘텐츠 삽입
::after 요소 뒤에 콘텐츠 삽입
::first-line 첫 줄만 스타일 적용
::first-letter 첫 글자만 스타일 적용

✅ 예시

p::first-letter {
  font-size: 200%;
  color: red;
}

 

 

7️⃣ 선택자 우선순위 (Specificity)

여러 스타일이 동시에 적용될 수 있을 때, 어떤 스타일이 우선 적용되는지 결정하는 기준입니다.

  • !important > 인라인 스타일 > 아이디 선택자 > 클래스 선택자 > 태그 선택자

예:

p {
  color: blue;
}
p.text {
  color: red;
}
#main p.text {
  color: green;
}

👉 id="main" 아래의 .text 클래스가 있는 <p> 태그는 초록색이 됩니다.

 

 

8️⃣ 정리하며…

CSS 선택자는 HTML 요소에 스타일을 정확하게 입히기 위한 가장 기본적이고 중요한 도구입니다.
태그, 클래스, 아이디처럼 기초적인 선택자부터, 가상 클래스와 결합자까지 폭넓게 익혀두면 어떤 구조든 스타일을 자유자재로 제어할 수 있어요!

 

#CSS선택자 #CSS기초 #웹디자인 #프론트엔드기초 #CSS클래스 #아이디선택자 #가상클래스 #CSS우선순위 #웹개발입문 #스타일시트

반응형
저작자표시 비영리 (새창열림)

'Web Front > CSS' 카테고리의 다른 글

[CSS] #04 CSS 기초이해, CSS 주석 작성법 완벽 가이드! 협업과 유지보수를 위한 필수 스킬  (1) 2025.08.14
[CSS] #02 CSS 기초이해, CSS 적용 방법 완벽 이해! 인라인, 내부, 외부 스타일시트 차이점과 실전 사용법  (1) 2025.08.12
[CSS] #01 CSS 기초이해, CSS란? 웹 디자인의 시작, CSS의 개념과 역할 완전 정복!  (0) 2025.08.11
'Web Front/CSS' 카테고리의 다른 글
  • [CSS] #04 CSS 기초이해, CSS 주석 작성법 완벽 가이드! 협업과 유지보수를 위한 필수 스킬
  • [CSS] #02 CSS 기초이해, CSS 적용 방법 완벽 이해! 인라인, 내부, 외부 스타일시트 차이점과 실전 사용법
  • [CSS] #01 CSS 기초이해, CSS란? 웹 디자인의 시작, CSS의 개념과 역할 완전 정복!
TOASTDEV
TOASTDEV
인스턴트 코딩 #토스트데브 #토스트뎁 #코딩공부 #개발입문
  • TOASTDEV
    토스트뎁
    TOASTDEV
    • 분류 전체보기 (99) N
      • 알쓸신잡 (32)
        • 코딩에 대하여 (13)
        • 컴퓨터에 대하여 (10)
        • IT 국내외 소식 (9)
      • Web Front (10) N
        • HTML (6)
        • CSS (4) N
        • JavaScript (0)
      • Programming (25) N
        • PHP (25) N
      • Database (12)
        • SQL (12)
        • MySQL (0)
      • Server (20) N
        • Linux (20) N
  • 블로그 메뉴

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

    • Youtube Toastdev
    • Naver Blog
  • 공지사항

    • [유튜브] 유튜브 영상 업로드 안내
  • 인기 글

  • 태그

    프론트엔드기초
    SQL문법
    서버입문
    sql
    웹개발
    php
    데이터분석
    코딩입문
    SQL기초
    프론트엔드
    ubuntuserver
    데이터베이스
    서버보안
    리눅스기초
    HTML
    웹개발입문
    php코딩
    리눅스보안
    css기초
    서버관리
    php문법
    컴퓨터기초
    웹프로그래밍
    html기초
    php기초
    php입문
    PHP문자열
    SQL강의
    ubuntu서버
    웹개발기초
  • 최근 댓글

  • 최근 글

  • 전체
    오늘
    어제
  • 반응형
  • hELLO· Designed By정상우.v4.10.3
TOASTDEV
[CSS] #03 CSS 기초이해, CSS 선택자 완벽 정리! 기본 선택자부터 가상 클래스까지 한 번에 배우기
상단으로

티스토리툴바