[CSS] 선택자

2024. 12. 9. 22:32·기초 학습/CSS

앞에서 배운 CSS의 기본 규칙은 아래와 같았다.

선택자 {
    속성: 값
}

여기서 선택자에 주목해보자. 선택자의 위치에 넣을 수 있는 선택자 종류는 다양하다.

선택자의 종류

전체 선택자: *

문서의 모든 요소에 스타일을 적용하고 싶은 경우 사용한다.

  • 브라우저의 기본 스타일을 제거하고, 통일된 스타일을 적용할 때 유용하다.
  • 하지만 크기가 큰 문서에서는 다소 비효율적 일 수 있다.
    • 모든 요소를 다 선택하기 때문에 문서 크기가 크고 복잡한 경우 CSS 렌더링 성능에 영향을 미칠 수 있다.
  • * 선택자는 모든 요소를 포함하기 때문에, 해당 속성을 지원하지 않는 태그에도 스타일이 적용되려고 시도된다.
    • 예: <img> 태그에는 color 속성이 없지만, 전체 선택자를 사용하면 브라우저가 불필요한 계산을 수행한다.
* {
    속성: 값
}
  • ex) 모든 글자의 색상을 검은색으로 바꾼다든지, 폰트 크기를 통일하고 싶은 경우 사용할 수 있다.

주의할 점

  • 선택자는 CSS로 생성하는 가상 요소(예를 들어 ::before, ::after)는 선택하지 않는다.

특정 유형의 선택자와 함께 사용하기

요소 선택자 뒤에 붙일 수도 있다. 이 경우 해당 요소 선택자의 모든 자손 요소를 선택하여 스타일을 적용하게 된다.

section * { /* section 요소의 모든 자손 요소를 선택 */
    background-color: gold;
}

 


요소 선택자: 태그

단일 요소 선택하기

button {
    font-size: 30px
}

리스트로 선택하기

,로 구분하여 여러 요소 선택자를 나열할 수 있다.

아래 코드는 모든 h1 태그와 h2 태그를 선택하여 마젠타 색상을 적용하라는 뜻이다.

h1, h2 {
    color: magenta;
}

 


ID 선택자 - id 값으로 요소 선택

# 바로 뒤에 지정할 id 값을 붙이면, 해당 id를 갖는 태그에 스타일을 적용할 수 있다.

#id_value {
    /* ... */
}
  • id 속성은 해당 요소의 고유식별자를 지정하는 속성이며, 속성의 값은 문서에서 유일하고 고유해야 한다.

주의할 점

  • #id 선택자는 구체성 값이 매우 높기 때문에, 남용하면 다른 선택자들과 충돌할 가능성이 높아진다.
  • #id 선택자는 고유한 식별자로 사용되어야 하고, 스타일링이 목적인 경우 클래스 선택자를 사용하는게 좋다.
  • 아이디는 최소화하는게 좋다.(한 페이지에 10개 이내로 씀)

.class 선택자 - 클래스 이름으로 요소 선택하기

class 속성을 통해 지정된 클래스 이름으로 요소를 선택하려면 CSS에서 . 뒤에 클래스 이름을 붙인다.
.class 선택자는 지정된 클래스 이름(class)을 값으로 갖는 요소를 모두 선택한다.

class 속성이란?

  • HTML 태그에 class 속성을 추가하여 요소를 분류하거나 식별할 수 있다.
  • class 속성을 통해 요소에 하나 이상의 클래스 이름을 지정할 수 있다.
  • 이 클래스 이름은 CSS나 JavaScript에서 요소를 분류/식별/선택하여 스타일링 및 조작하는 데 사용된다.
  • 여러 클래스 이름을 지정하려면 띄어쓰기로 구분한다.
.클래스명{
     속성: 값; 
}

 


자손 선택자

자손 선택자는 (띄어쓰기 공백) 이며 앞에서 지정한 요소 (A) 의 안에 위치한 타깃 자손 요소 (B) 를 모두 선택한다.

selectorA selectorB {
    속성: 값;
}

ex 1)

<li> 태그에 속한 <a> 태그에 스타일을 적용하는 방법이다.

li a {
    color: teal; 
}

ex 2)

post에 속한 모든 a 태그에 스타일을 적용하는 방법이다.

.post a {
    color: pink;
}

 


자식 선택자

자식 선택자는 앞에서 배웠던 자손 선택자와 달리, (A) 요소 바로 한 단계 밑에 위치한 자식 요소 (B) 만 택한다.

selectorA > selectorB {
    속성: 값;
}

 


다음 형제 선택자

다음 형제 선택자+는 앞에서 지정한 요소 바로 다음에 위치한 형제 요소만을 선택한다.
선택자A 바로 다음에 위치한 타깃 형제 요소인 선택자B를 선택하여 스타일을 적용할 수 있다.

selectorA + selectorB {
    속성: 값;
}

 


속성 선택자

태그[attribute="value"] 선택자는 지정된 attribute라는 이름의 속성 값이 value와 일치하는 모든 요소를 선택한다.

ex1)

input[type="password"] {
    font-size: 16px
}

'기초 학습 > CSS' 카테고리의 다른 글

[CSS] CSS의 우선순위  (1) 2024.12.10
[CSS] 가상 클래스 선택자  (0) 2024.12.10
[CSS] 텍스트 속성 (text-align, font-weight)  (0) 2024.12.05
[CSS] 텍스트 색 및 배경색 변경하기 (color, background-color)  (0) 2024.12.04
[CSS] 스타일 적용 방법 (인라인/내부 스타일시트/ 외부 스타일시트)  (0) 2024.12.04
'기초 학습/CSS' 카테고리의 다른 글
  • [CSS] CSS의 우선순위
  • [CSS] 가상 클래스 선택자
  • [CSS] 텍스트 속성 (text-align, font-weight)
  • [CSS] 텍스트 색 및 배경색 변경하기 (color, background-color)
뜐🐸
뜐🐸
패왕색 패기를 갖춘 뜐입니다~
  • 뜐🐸
    뜐의 개발 로그
    뜐🐸
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 기초 학습
        • HTML
        • CSS
        • JavaScript
        • Version Co..
        • 미니 프로젝트
        • DOM & 웹 AP..
      • CSS 프레임워크
        • Bootstrap
      • React
        • 개념 정리
        • 기초 정리
      • 알고리즘
        • Week 1: 입출..
        • 재귀
        • 백트래킹
      • javascript
      • FastAPI
        • 크롤링 서버 만들기
      • 전역 상태 관리
        • Redux
      • 한 입 리액트 챌린..
      • 영어
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    inline-block
    백준 #코딩테스트 #1074번 #재귀 #알고리즘 # 알고리즘 문제풀이
    :active
    티스토리챌린지
    :focus
    :nth-child(n)
    가상 선택자
    자바스크립트 #하노이 탑 #재귀 #백준 # 11729
    :hover
    오블완
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
뜐🐸
[CSS] 선택자
상단으로

티스토리툴바