CSS 명시도 계산기
개발
두 CSS 규칙이 같은 요소를 타게팅하면 캐스케이드는 명시도가 더 높은 규칙을 선택 — (ID, 클래스/속성/가상클래스, 타입/가상요소)로 카운트. 이 도구는 셀렉터를 파싱하고 각 부분에 가중치 부여(#id +1·0·0, .class +0·1·0, div +0·0·1), :is()·:not()·:has() (가장 높은 인수 승)·:where() (항상 0) 같은 가상클래스 처리. 두 셀렉터를 입력해 어느 쪽이 캐스케이드에서 이기는지 확인 — 규칙이 적용되지 않는 이유를 추측할 필요 없음.
—
ID
1
클래스/속성/가상
2
타입/가상요소
3
명시도
(1, 2, 3)
토큰 분석
#navID+(1, 0, 0)ul타입+(0, 0, 1)li타입+(0, 0, 1).active클래스+(0, 1, 0)a타입+(0, 0, 1):hover가상클래스+(0, 1, 0)
두 셀렉터 비교
두 번째 셀렉터 붙여넣어 캐스케이드에서 어느 쪽이 이기는지 확인.
셀렉터 A
(1, 2, 3)
← A 승
셀렉터 B
(0, 1, 3)
예시
인라인 스타일·!important·소스 순서 모두 셀렉터 명시도를 이김. 이 도구는 셀렉터 자체에서 (ID, 클래스, 타입) 튜플만 계산.
사용법
- CSS 셀렉터 입력 또는 붙여넣기 — 입력에 맞춰 분석 갱신.
- (ID, 클래스, 타입) 숫자 확인 — 튜플이 높은 쪽이 캐스케이드 승.
- 비교 박스에 두 번째 셀렉터 붙여넣어 어느 쪽이 이기는지 확인.
자주 묻는 질문
- 왜 하나가 아닌 세 숫자?
- 명시도는 왼쪽부터 칼럼별로 비교: ID 하나가 어떤 수의 클래스도 이김; 클래스 하나가 어떤 수의 타입 셀렉터도 이김. (0,1,0) + (0,0,10) = 20처럼 더하는 직관은 CSSWG가 경고하는 전형적 오류.
- :is()·:not()·:has() 카운트?
- 가장 가중치 높은 인수의 명시도 취함. :is(#a, .b) = 1·0·0, :not(.a, .b) = 0·1·0. :where()는 항상 0·0·0 — 명시도 0 오버라이드에 유용.
- ::before 같은 가상요소는?
- 가상요소(::before·::after·::first-line)는 타입 셀렉터로 카운트(0·0·1). 레거시 단일 콜론 형식(:before·:after)도 가상요소로 인식.
- 인라인 스타일 포함?
- 아니오 — 인라인 스타일은 별도 'a' 버킷(1·0·0·0)으로 이 도구는 모델링 안 함, 셀렉터에 인라인 못 씀. 인라인 오버라이드 필요시 !important 사용.
관련 도구
JWT 디코더
JWT의 헤더·클레임·만료를 즉시 확인하세요.
개발00
UUID 생성기
무작위 버전4 UUID를 여러 개 한 번에 생성하고 복사하세요.
개발00
해시 생성기 (SHA)
텍스트로 SHA-1·SHA-256·SHA-384·SHA-512 해시를 생성하세요.
개발00
URL 인코더 / 디코더
URL용으로 텍스트를 퍼센트 인코딩하거나, 인코딩된 URL을 디코딩하세요.
개발00
Base64 인코더 / 디코더
텍스트를 Base64로 인코딩하거나 다시 텍스트로 디코딩하세요.
개발00
JSON 포맷터 & 검증기
브라우저에서 바로 JSON을 포맷·정렬·압축·검증하세요.
개발00