2010-03-09 3 views
15

CSS에서 계단식 및 상속의 차이점은 무엇입니까?CSS에서 계단식 및 상속의 차이점은 무엇입니까?

둘 다 똑같습니까?

+1

** [속성 값, 계단식 및 상속 지정] 참조 (http://www.w3.org/TR/CSS2/cascade.html#inheritance) ** – rahul

+0

참고 ** ** [선택기의 특수성 계산하기] (http://www.w3.org/TR/CSS2/cascade.html#specificity)**. 캐스케이드의 특성 ***은 주요 차별화 요소 대 상속입니다. –

답변

27

상속은 속성이 요소에서 해당 하위 요소까지 어떻게 떨어지는 지입니다. font-family과 같은 특정 속성이 상속됩니다. body에 font-family를 설정하면 해당 글꼴 모음은 body 내의 모든 요소에 상속됩니다. color에 대해서도 마찬가지이지만 background 또는 height의 경우 기본값은 항상 transparentauto입니다. 대부분의 경우 이는 단지 의미가 있습니다. 배경이 상속되는 이유는 무엇입니까? 그것은 고통이 될 것입니다. 폰트가 상속되지 않았다면 어떨까요? 그게 어떻게 생겼어?

캐스케이드은 충돌이 발생할 때 우선 순위에 관한 것입니다. 캐스케이드의 규칙은 다음과 같습니다

  1. 나중에 속성이 적은 특정 선택기를
  2. 지정된 속성을 오버라이드 (override) 이전 속성을
  3. 더 구체적인 선택기를 오버라이드 (override) 상속 된 속성

등등을 무시합니다. 캐스케이드는 모든 충돌 상황을 해결합니다. 속성이 적용되는 순서입니다.


(업데이트) 특이성는 종속 선택 우선 순위를 결정하는 데 사용 calculation이다. 두 개의 선택기가 동일한 요소에 적용되면 더 높은 특이성을 갖는 선택기가 우선 적용됩니다.

  1. 인라인 스타일은 매우 높은 특이성을 가지고 (1000)
  2. ID 년대는
  3. 클래스/속성과 유사 클래스를 추가 10
  4. 요소와 가상 요소 1
를 추가 100의 특이성을 가지고

전체 특이성을 결정하기 위해 선택자 체인의 모든 부분을 추가하십시오. 동점 일 경우 마지막 선택기가 우선 적용됩니다.

물론 다양한 경우와주의 사항이 있습니다. 한 클래스는 아무리 많아도 일반 요소를 항상 무시합니다. 부모 셀렉터의 상속 된 속성보다 우선 순위가 높은 셀렉터가 선택됩니다. 누군가가 !important을 사용하면 모든 계산을 포기할 수 있습니다.

+0

+1 좋은 대답 @Eric –

+0

명확한 설명. – refactor

+0

상속, 계단식 및 특이성의 세 가지 차이점을 설명하기 위해 설명에 특이성을 포함시킬 수 있습니까? –

관련 문제