All'alba vincerò

At dawn, I will win!

CSS

[CSS] 캐스캐이드(Cascade)

나디아 Nadia 2024. 5. 7. 17:34

 

📌 캐스캐이드(Cascade)

: CSS 스타일 규칙이 어떤 우선순위에 따라 요소에 적용되는 방식

  • 다양한 CSS 스타일 규칙이 동일한 요소에 적용될 때 발생

  1. 우선순위 (Priority): CSS 스타일 규칙은 다양한 소스에서 나올 수 있다.
    (ex. 외부 스타일 시트, 내부 스타일 시트, 인라인 스타일 등)
    Cascading은 이러한 다양한 소스에서 나온 규칙 중에서 어떤 것이 우선순위가 높은 지를 결정한다.
  2. 상속 (Inheritance): 부모 요소로부터 자식 요소로 상속한다.
    상속되는 속성은 자식 요소에 직접 지정하지 않아도 부모 요소에서 지정한 값이 자동으로 적용된다.
  3. 명확성 (Specificity): 어떤 스타일 규칙이 요소에 적용되는지를 결정한다.
    두 개 이상의 규칙이 동일한 요소를 대상으로 할 때, CSS는 각 규칙의 명확성을 비교하여 가장 명확한 규칙을 적용한다.
  4. 코드 순서: 가장 나중에 오는 코드가 적용된다.

 

 

 

📌 CSS 선택자 우선순위

  1. !important - 무한대
    • 다른 선언보다 우선해서 사
    • 동적 스타일 적용 시 유용
    • 되도록 사용하지 않는 것이 좋다❗

  2. inline style - 1000점
    html 태그 내부에 style 선언
    <p style="font-size=15px">인라인 스타일</p>
     
  3. id 선택자 - 100점

  4. class / 가상 선택자 - 10점
    * 복합 선택자(.class #id) = 110점 (10(class) + 100(id))

  5. 태그 선택자 - 1점

  6. 전체(*) 선택자 - 0점

  7. 상속

 

 

 

* 태그 선택자의 스타일과 클래스 선택자의 스타일이 겹치면 👉 클래스 선택자가 적용됨 (클래스 > 태그)

.heading {
   color: puple;
   /* 적용 */
}

h1 {
   color: green;
}

 

 

* 선택자의 우선순위가 같을 때👉 나중에 선언한 스타일 적용

.heading {
   color: puple;
}

.techit {
   color: grey; 
   /* 적용 */
}

 

 

* 본인 스타일과 상속이 겹칠 때 => 본인 스타일이 적용됨 (본인 스타일 > 상속)

.heading {
   color: inherit;
}

.heading {
   color: red;
   /* 적용 */
}

 

 



명확성 (Specificity) 확인하는 사이트

 

Specifishity :: Specificity with Fish

 

specifishity.com

 

 

Specificity Calculator (명확성 계산하는 사이트)

 

Specificity Calculator

Specificity Calculator A visual way to understand CSS specificity. Change the selectors or paste in your own.

specificity.keegan.st

 


 

참고

 

 

Introducing the CSS Cascade - CSS: Cascading Style Sheets | MDN

The cascade is an algorithm that defines how user agents combine property values originating from different sources. The cascade defines the origin and layer that takes precedence when declarations in more than one origin, cascade layer, or @scope block se

developer.mozilla.org

 

 

Specificity - CSS: Cascading Style Sheets | MDN

Specificity is the algorithm used by browsers to determine the CSS declaration that is the most relevant to an element, which in turn, determines the property value to apply to the element. The specificity algorithm calculates the weight of a CSS selector

developer.mozilla.org

 

 

 

캐스케이드  |  web.dev

때로는 두 개 이상의 경쟁 CSS 규칙이 요소에 적용될 수 있습니다. 이 모듈에서는 브라우저가 사용할 것을 선택하는 방법과 이 선택을 제어하는 방법을 알아봅니다.

web.dev

 

 

 

[CSS]선택자 우선순위: 점수 매기기

선택자 우선순위란? 선택자 우선순위란 같은 요소가 여러 선언의 대상이 된 경우, 어떤 선언의 CSS 속성을 우선적으로 적용할 것인지를 결정하는 방법입니다. 그 기준은 다음과 같습니다. 1. 점수

iridescent-zeal.tistory.com

 

 

 

🎨 CSS 속성 상속 개념 & 적용 우선순위

CSS 속성 상속 CSS 속성은 상속하는 속성과 상속하지 않는 속성이 있다. ​상속하는 속성은 자식 요소에 영향을 미친다. 상속하지 않는 속성은 자식 요소에 영향을 미치지 않는다. property 상속 width

inpa.tistory.com