CSS 특이성
빠른 요약
이 기사에서는 CSS 특이성, 특이성 순위의 팁과 요령에 대해 배우고 CSS 특이성을 계산하는 방법도 배웁니다.
HTML 요소는 서로 다른 CSS 선택자를 일치시켜 여러 CSS 규칙을 첨부할 수 있습니다. 가장 높은 특이성 값을 가진 선택자가 "우승"하고 해당 스타일 선언이 해당 HTML 요소에 적용됩니다.
따라서 기본적으로 특이성은 요소와 가장 관련성이 높은 CSS 선언을 결정하기 위해 브라우저에서 사용하는 알고리즘이며, 이는 요소에 적용할 속성 값을 결정합니다.
예를 들어 봅시다
.title {
background-color: green;
}
h1 {
background-color: red;
}
<h1 class="title">Hello World</h1>
위에 작성된 코드에는 충돌하는 선언이 있습니다. 우리의 html 요소는
.title
클래스 및 h1 요소 선택자와 모두 일치합니다. 실제로 h1
요소이며 .title
클래스 이름도 있습니다. 각 선택기에는 다른background-color
속성이 있습니다. background-color
요소가 어떤 h1
속성을 갖게 될지 추측해 보세요.h1
요소 선택자가 .title 클래스 선택자 뒤에 오기 때문에 빨간색이라고 말할 수 있습니다. 결과입니다예, 녹색입니다. 클래스 선택자 규칙이 적용되었습니다. 이는
.title
클래스 선택자가 h1
요소 선택자보다 더 높은 특이성 순위를 갖기 때문입니다.따라서 여러 규칙에서 CSS 속성이 충돌할 때마다 가장 구체적인 선택자가 있는 규칙이 선택됩니다.
특이성 순위
CSS 규칙의 특이성 순위는 다음과 같이 가장 구체적인 것부터 가장 덜 구체적인 것까지입니다.
<h1 style="color: pink;">
#navbar
.myClass
, 속성 선택기[type="radio"]
및 의사 클래스:hover
div
및 의사 요소:before
특이성을 계산하는 방법?
다음은 선택자의 특이성 값입니다.
인라인 스타일의 특이성은 10000입니다
예시
#btn {
background-color: red; /* 100 */
}
button.btn[type="button"] {
background-color: green; /* 1 + 10 + 10 = 21*/
}
.btn {
background-color: blue; /* 10 */
}
<div id="container">
<button class="btn" id="btn" type="button">Button</button>
</div>
결과적으로 첫 번째 스타일 선언이 가장 높은 특이성 값인 100을 가지므로 첫 번째 스타일 선언이 적용됩니다.
참고: 인라인 스타일은 가장 높은 특이성을 가지며 항상 작성자의 스타일 시트에 있는 모든 스타일을 재정의합니다. 인라인 스타일을 재정의하는 유일한 방법은 중요함을 사용하는 것입니다.
예시
h1{
color: black;
}
h1#title {
color: green;
}
<h1 id="title" style="color: pink;">Heading</h1>
인라인 스타일은 특이도 값이 1000으로 가장 높기 때문에 적용됩니다.
!중요한
중요하다고 표시된 CSS 선언은 선택자가 덜 구체적이더라도 충돌하는 모든 선언을 무시합니다.
중요도를 사용하는 것은 나쁜 습관으로 간주되며 피해야 합니다. CSS 문제를 더 어렵게 만들고 스타일 시트를 유지 관리하기 어렵게 만들 수 있습니다.
선택자의 특이성을 다른 선언보다 크게 하는 것이 좋습니다.
더 많은 특이성 규칙
결론
이 기사에서는 css 특정성 규칙, 특정성을 계산하는 방법에 대해 배웠습니다.
프론트엔드 개발자로서 특정성을 아는 것은 필수적이며 이 기사가 CSS 특정성을 이해하는 데 도움이 되었기를 바랍니다.
Reference
이 문제에 관하여(CSS 특이성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/taiwobello/css-specificity-3ik1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)