그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
로그인
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

질문 목록CSS
CSS

CSS 명시도(Specificity)는 어떻게 계산되고 적용되나요?

실무4/5
설계4/5
인간3/5
기초4/5

면접관의 질문 의도

우선순위 표를 외웠는지가 아니라, 캐스케이드 규칙과 명시도가 어떻게 맞물려 동작하고 그게 실 코드에서 왜 잘 무너지는지 같이 보는지 가르려는 질문이다.

큐레이션 답변

학습 자료

CSS 명시도는 같은 요소에 여러 규칙이 걸렸을 때 어떤 선언이 이길지 정하는 점수 체계다. 인라인 스타일이 가장 높고, 그다음으로 id 선택자, 그다음으로 클래스·속성·가상클래스, 마지막으로 요소·가상요소 선택자 순으로 점수가 쌓여 합산된다. 점수가 같으면 캐스케이드 규칙에 따라 더 나중에 선언된 쪽이 이기고, !important는 이 점수 체계를 한 단계 위로 끌어올린다. 그래서 명시도가 한번 어긋나기 시작하면 다른 규칙도 점점 강한 선택자나 !important로 따라가게 돼, 구조적으로는 선택자 설계와 @layer·:where() 같은 평탄화 도구로 우선순위 흐름을 미리 잡아 두는 쪽이 본 작업이 된다.

좋은 답변 구조

  1. 01명시도가 무엇을 해결하려는 점수 체계인지 정의한다
  2. 02선택자별 점수 누적 방식을 인라인·id·클래스·요소 순으로 짚는다
  3. 03동점일 때의 캐스케이드(선언 순서)와 `!important`의 위치를 정리한다
  4. 04선택자 설계·`@layer`·`:where()` 같은 평탄화 전략으로 유지보수 관점에서 마무리한다

자주 실수하는 포인트

스타일이 안 먹는다는 이유로 `!important`를 첫 해결책으로 사용한다
명시도가 같을 때 캐스케이드(선언 순서)가 결정한다는 점을 빼먹는다
id 선택자를 일반 클래스처럼 남발해 우선순위를 통째로 끌어올려 버린다

실무 맥락

  • 여러 팀이 같은 디자인 시스템 위에 스타일을 얹어 충돌이 자주 나는 코드베이스
  • 오래된 글로벌 CSS와 새 컴포넌트 스타일이 같은 페이지에 공존하는 레거시 프로젝트
  • 컴포넌트 라이브러리의 테마를 호스트 앱에서 오버라이드해야 하는 구조

본인 경험에 녹이는 힌트

명시도가 꼬여 스타일이 안 먹던 자리를 선택자 구조 재설계로 풀어 본 경험이 있다면 구조적 해결 사례로 연결할 수 있다

`!important`를 줄이는 정리 작업을 진행해 본 적이 있다면 명시도 부채를 줄이는 관점으로 말할 수 있다

`@layer`·`:where()`로 우선순위를 평탄화해 본 경험이 있다면 평탄화 도구 도입 효과로 엮을 수 있다

커뮤니티 인기 답변

전체 0개

아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.

관련 꼬리 질문

Q1:where()와 :is()는 명시도에 어떤 영향을 주나요
Q2CSS-in-JS 환경에서 명시도 문제는 어떻게 달라지나요
Q3레이어(@layer)를 활용한 우선순위 관리 방법은 무엇인가요
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문