2012-12-22 2 views
1

CSS 파일과 브라우저에서 적용하는 순서에 대한 질문이 있습니다. 우리는이 :CSS 파일 적용 순서

  1. 브라우저 (시스템) CSS 파일,
  2. 사용자 CSS 파일,
  3. 사용자 CSS 중요한 파일,
  4. 사이트 CSS 파일,
  5. 사이트 CSS 중요한 파일,

페이지가로드 될 때 일부 CSS 코드는 순서 또는! 중요 단어에 따라 다른 코드를 대체합니다. 위에 나열된 순서가 맞습니까? 그렇기 때문에 사이트 CSS 중요 파일은 이전의 모든 스타일을 무시할 수 있습니까?

+0

무엇을 원하십니까? 'site CSS important file'에서 모든 스타일에 스타일을 오버로드 할 수 있기를 원하십니까? 옙이라면 순서가 맞습니다. –

답변

2

CSS 코드는 다른 CSS 코드를 대체하지 않으며 스타일 시트를 구문 분석하는 순서는 적절하지 않습니다. 적용 가능한 모든 스타일 시트가 고려되므로 실제로 적용 순서는 없습니다. 여러 스타일 시트가 요소의 속성에 값을 할당하면 cascade rules에 따라 충돌이 해결됩니다. 순서는 다음과 같습니다

  1. 사용자 에이전트 선언 (브라우저의 기본 스타일)

  2. 사용자 정상 선언

  3. 저자 (페이지) 정상 선언

  4. 저자 (페이지) 중요한 선언

  5. 사용자 중요 선언

그래서 저자 (페이지) !important 선언은 사용자 !important 선언을 제외한 모든 것을 트랩합니다. Css 1에서는 주문이 달랐지 만 CSS 2에서 변경되었으며 브라우저는 현재 규칙에 따라 살고 있습니다. 사용자가 권리를 행사하려면 마지막 단어가 있어야합니다.

0

아니요. 사용자 CSS 파일은 사이트 CSS 파일 이후에 구문 분석됩니다 (그렇지 않으면 사용자 CSS 파일을 갖지 못할 것입니다). 그렇다고해서 웹 사이트의 CSS 파일에있는 모든 내용이 자동으로 무효화되는 것은 아닙니다. 보통 CSS specificity rules이 계속 적용됩니다.

의 내 웹 사이트 규칙이있는 예를 들어 빨간색 모든 단락을 만들어 보자 :

website.css: p { color: red; } 

을하지만 (파이어 폭스에있는 userContent.css 같은) 사용자 스타일 시트를 구현하고 말한다면 :

FireFox userContent.css: p { color: blue; } 

텍스트 색상이 파란색입니다.

website.css: p { color: red; !important } 

색상은 다시 빨간색 될 것이다 : 다음 중요한 웹 사이트의 규칙을 표시하면

.