.card__button--primary와.card__button중에서 누가 우선 적용되느냐(누가 "높냐")는 CSS의 "구체성"에 따라 달라져.
구체성이 높다 → 더 우선적으로 적용된다 (강한 스타일). 이름이 길다.
구체성이 낮다 → 덮어씌워질 가능성이 크다 (약한 스타일).
<div style="..."> → 가장 우선 적용됨#id-name → 두 번째로 강함.class-name, [attr] → 세 번째div, h1, button → 가장 낮음.card__button과 .card__button--primary의 구체성 비교.card__button:
.card__button--primary:
.card__button보다 더 세부적인 스타일(수정자)을 적용하기 위한 선택자.둘 다 구체성 점수는 동일하지만, HTML에서 뒤에 선언된 스타일이 우선 적용돼.
즉, CSS에서.card__button이 먼저 선언되고,.card__button--primary가 나중에 선언되었다면.card__button--primary가 우선 적용돼.
<button class="card__button card__button--primary">버튼</button>
/* 기본 버튼 스타일 */
.card__button {
background-color: gray;
color: white;
}
/* 수정자 버튼 스타일 */
.card__button--primary {
background-color: blue;
}
.card__button은 기본적으로 회색 배경을 설정하지만,.card__button--primary는 파란색 배경으로 덮어써. 수정자 클래스(
--primary)는 기본 클래스(.card__button) 위에 추가로 스타일을 덧씌우지롱.