2010-01-11 3 views
10
#div p { 
    color: red !important; 
} 
... 
#div p { 
    color: blue; 
} 

나는 !important의 작동 방식을 이해합니다.이 경우 우선 순위 (! important)가 있으므로 div가 빨간색으로 렌더링됩니다. 그러나 나는 그것을 사용할 적절한 상황을 아직 알 수 없다. 누구든지 !important이 하루를 저장하는 어떤 예를 알고 있습니까?"! important"를 사용하여 요일을 저장하는 경우 (CSS 작업시)

#someElement p { 
    color: blue; 
} 

p.awesome { 
    color: red; 
} 

가 어떻게 awesome 단락은 항상 #someElement 안에 빨간색, 심지어 사람을 설정해야합니까 :

+0

[CSS에서 "! important"를 사용했을 때의 영향은 무엇입니까?] (http://stackoverflow.com/questions/3706819/what-are-the-implications-of-using-important-in- CSS) – Gilles

답변

15

이 고려? !important이 없으면 첫 번째 규칙은 더 많은 특수성을 가지며 두 번째 규칙에서 승리합니다.

+1

p.awesome {..}이 IE6에서 작동합니까? –

+0

@JitendraVyas : 일종의. IE6의'! important' 다루는 방법에 관한 이상한 규칙이 있습니다.다행스럽게도 2012 년 정도면 IE6은별로 관련이 없으며 다른 모든 브라우저에서 올바르게 작동합니다. – cHao

+0

그리고 어쨌든, 그렇습니다. IE6는 그 문제를 잘 처리합니다. 'p.awesome, #someElement p.awesome {...'을 사용하여'p.foo.bar'와 같은 클래스 선택자를 – nickf

3

!important은 HTML 출력을 제어하지 않는 경우에 하루를 저장하고 style='' 속성을 렌더링합니다. ASP.NET 및 기타 프레임 워크를 생각해보십시오.

이 스타일을 변경할 수있는 유일한 방법은 자바 스크립트를 사용하거나 CSS 규칙을 더 중요하게 표시하는 것입니다.

1

또한 !important은 IE6/7에서 무시됩니다. 따라서 이것을 IE6/7 hack으로 사용할 수 있습니다.

+2

! important는 완전히 무시되지 않습니다 (즉, 내가 게시 한 상황에서). 아마 주목할 만하다. –

0

페이지에 여러 CSS 파일, 귀하가 작성한 CSS 및 다른 당사자가 작성한 소프트웨어와 함께 제공되는 추가 CSS가 포함되어있는 경우 CSS의 일부를 '보장'하는 것이 중요 할 수 있습니다. 다른 포함 된 파일의 CSS.

0

다른 모든 것을 먼저 시도하지 않은 한! important 선언을 사용하지 말고 단점을 명심하십시오. 이 코드를 사용하는 경우 가능하면 코드 유지 관리 기능을 향상시키기 위해 CSS 스타일에 오버라이드 된 스타일 옆에 주석을 추가하는 것이 좋습니다.

11

최후의 수단으로 만 사용하십시오! 한 번 사용한 후에는 무시하기가 어렵 기 때문입니다. 나의 엄지 손가락 규칙 :

  • 사용법은 사이트 전체 CSS에서 중요합니다.
  • 만 사용하십시오! 예를 들어 ExtJs 또는 YUI에서 사이트 전체 또는 외부 CSS를 무시하는 페이지 별 CSS에 중요합니다.
  • 절대! 플러그인/매시업을 작성할 때 중요합니다! 도 고려하기 전에 특이성을 사용하는 방법에 대해 항상 모습
  • ! 중요한
1

다른 사람의 코드로 작업 단순히 더 구체적인 선택기를 사용하여 효과를 무시할 수 없을 때! 중요 유용 . 기존 사이트에 페이지 또는 작은 페이지 세트를 추가하라는 요청을 받았을 때 기존 스타일 시트를 포함해야하지만 편집 할 수는 없습니다 (액세스가 부족하거나 트리클 다운이 발생했기 때문에) 효과는 다른 것들을 부술 것입니다.) 그것이 중요한 부분입니다. 그렇지 않으면 선택기 특이성을 사용하여 동작을 재정의해야합니다.

관련 문제