CSS 특이성은 동일한 요소에 대해 여러 선언이 충돌 할 때 브라우저에서 적용되는 스타일 선언을 결정하는 일련의 규칙입니다. CSS 선택기의 특이성은 다른 유형의 선택기가 다른 가중치를 갖는 4 부분으로 된 순위 시스템을 사용하여 계산됩니다.
1,0,0,0
으로 표시됩니다. 즉, 인라인 스타일은 외부 또는 내부 스타일 시트에 정의 된 모든 스타일을 재정의하지 않는 한, !important
하지 않습니다.0,1,0,0
으로 표시됩니다. 예를 들어, #navbar
의 특이성은 0,1,0,0
입니다.0,0,1,0
입니다. 예는 .btn
, [type="text"]
및 :hover
포함됩니다.0,0,0,1
로 표시됩니다. 예제로는 div
, p
및 ::before
. 특이성을 비교할 때 값은 왼쪽에서 오른쪽으로 비교됩니다. 예를 들어, 특이성이 0,1,0,0
인 선택기는 항상 특이성이 0,0,1,0
인 선택기보다 승리합니다. 두 명의 선택기가 같은 특이성을 갖는 경우 CSS 코드에 나중에 나타나는 것들이 적용됩니다.
CSS 선택기의 특이성에 영향을 미치는 몇 가지 요소가 다음과 같습니다.
div#navbar
요소 선택기 ( div
)를 ID 선택기 ( #navbar
)와 결합하여 0,1,0,1
의 특이성을 초래합니다.!important
: 전통적인 특이성 계산의 요소는 아니지만, !important
사용은 특정 특이성 규칙을 무시할 수 있으므로 강력한 (정기적 인 사용에 권장되지는 않지만) 도구가 될 수 있습니다.특이성이 높은 CSS 스타일을 무시하려면 몇 가지 전략을 사용할 수 있습니다.
.btn
(특이성 0,0,1,0
)을 재정의하려면 .container .btn
(특이성 0,0,2,0
) 또는 #navbar .btn
(특이성 0,1,1,0
)을 사용할 수 있습니다.#navbar
.navbar
보다 특이성이 높습니다.!important
: 최후의 수단으로서 !important
선언을 사용하여 다른 스타일을 무시할 수 있습니다. 예를 들어, color: blue !important;
해당 요소에 대한 다른 color
선언을 무시합니다. 그러나 사용 !important
유지 보수 문제로 이어질 수 있기 때문에 일반적으로 낙담합니다. 예, CSS 특이성을 관리하는 데 !important
. 재산이 !important
하다고 선언되면 선택자의 특이성에 관계없이 동일한 속성에 대한 다른 선언을 무시합니다.
그러나 고려해야 할 중요한 영향이 있습니다.
!important
사용하면 CSS를 유지하기가 더 어려워 질 수 있습니다. 여러 개발자가 동일한 프로젝트를 수행하는 경우 기존의 !important
선언을 알지 못해 예기치 않은 행동으로 이어질 수 있습니다.!important
전쟁 : 과도한 사용 !important
!important
CSS 상속의 정상적인 흐름을 방해 할 수있어 스타일이 어떻게 계단식인지 예측하기가 더 어려워집니다.!important
CSS 모범 사례에 위배되며, 이는 그러한 재정의에 의존하지 않고 쉽게 관리 할 수있는 잘 구조화 된 모듈 식 CSS를 옹호합니다. 결론적으로, !important
특정 상황 (타사 라이브러리 스타일을 재정의하는 것과 같은)에서 유용한 도구가 될 수 있지만, 드물고주의해서 사용해야합니다. 더 나은 접근 방식은 필요할 때보다 구체적인 선택기를 사용하여 이러한 재정의의 필요성을 최소화하는 방식으로 CSS를 구성하는 것입니다.
위 내용은 CSS 특이성은 어떻게 계산됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!