외부 CSS로 인라인 스타일을 어떻게 재정의 할 수 있습니까?


99

인라인 스타일을 사용하는 마크 업이 있지만이 마크 업을 변경할 수있는 권한이 없습니다. CSS 만 사용하여 문서에서 인라인 스타일을 재정의하려면 어떻게합니까? jQuery 또는 JavaScript를 사용하고 싶지 않습니다.

HTML :

<div style="font-size: 18px; color: red;">
    Hello World, How Can I Change The Color To Blue?
</div>

CSS :

div {
   color: blue; 
   /* This Isn't Working */
}

2
인라인 스타일을 재정의하려면 왜 사용합니까?
사악한 수염

36
@BFDatabaseAdmin 인라인 스타일이 선언 된 마크 업에 액세스하지 못할 수도 있습니다.
TylerH 2014 년

답변:


176

인라인 스타일을 재정의하는 유일한 방법 !important은 CSS 규칙 옆에 키워드 를 사용 하는 것입니다. 다음은 그 예입니다.

div {
        color: blue !important;
       /* Adding !important will give this rule more precedence over inline style */
    }
<div style="font-size: 18px; color: red;">
    Hello, World. How can I change this to blue?
</div>

중요 사항 :

  • 사용 !important은 좋은 습관으로 간주되지 않습니다 . 따라서 !important및 인라인 스타일을 모두 피해야합니다 .

  • !importantCSS 규칙에 키워드를 추가하면 해당 요소에 대한 다른 모든 CSS 규칙보다 규칙이 강제로 선행 됩니다.

  • 마크 업 의 인라인 스타일무시합니다 .

  • 재정의하는 유일한 방법은!important CSS에서 더 높은 CSS 특이성으로 선언되거나 나중에 코드에서 동일한 CSS 특이성으로 선언 된 다른 규칙 을 사용 하는 것입니다.

  • 읽기해야합니다 - CSS 특이성을 MDN에 의해 🔗


1
그 스타일 부분은 실제로 그가 인라인 CSS를 재정의하기 위해서만 사용하는 것은 필요하지 않습니다
Rohit Agrawal 2013 년

1
내가 알고 있지만 같은 내가 말하고 중요한 특정 속성에 대한 점수를 증가, 그가 어떤 블록 (하지 재정을 위해) 다른 속성을 사용 할 수있다!
Rohit 아그라 왈

왜! 중요한 나쁜 습관입니까?
Sinister Beard

1
당신이 어떤 특별한 경우에 필요한 경우 나중에을 무시할 수 없기 때문에 @BFDatabaseAdmin
Rohit 아그라 왈

1
@BFWebAdmin 문제는 때때로 선택의 여지가 없다는 것입니다. 예를 들어, 새로운 보이지 않는 recaptcha의 "배지"는 스타일을 지정할 수 있지만 부분적으로 인라인 스타일이 있으므로 이와 같이 또는 js로 재정의해야하며 순수한 CSS 솔루션을 선호합니다.
My1

27

inline-styles당신이의 색상 변경하려는 경우 문서에 너무 예를 들어 말하자면를 들어, 가장 높은 우선 순위를 가지고 div하는 요소를 blue하지만, 당신은을했습니다 inline style로모그래퍼 color속성 세트red

<div style="font-size: 18px; color: red;">
   Hello World, How Can I Change The Color To Blue?
</div>
div {
   color: blue; 
   /* This Won't Work, As Inline Styles Have Color Red And As 
      Inline Styles Have Highest Priority, We Cannot Over Ride 
      The Color Using An Element Selector */
}

그렇다면 jQuery / Javascript를 사용해야합니까? -대답은 아니오

우리가 사용할 수 element-attr와 CSS 선택기를 !important참고, !important다른이를 통해 인라인 스타일을 타고하지 않습니다, 여기서 중요한 ..

<div style="font-size: 30px; color: red;">
    This is a test to see whether the inline styles can be over ridden with CSS?
</div>
div[style] {
   font-size: 12px !important;
   color: blue !important;
}

데모

참고 : 사용 !important만 여기에 작동하지만 내가 사용했습니다 div[style]특별히 선택에 선택을 div가진 style 속성을


2
그렇다면 인라인 스타일을 사용해야합니까? -대답은 아니오 :-)
PeeHaa

"그러면 jQuery / Javascript를 사용해야합니까?-대답은 아니오입니다"이유는 무엇입니까? 제어 할 수없는 엔터티에 의해 요소에 인라인 스타일이 추가되는 환경 (예 : Sharepoint)에서 작업하는 경우 Jquery를 사용하여 문제가되는 인라인 스타일을 제거하여 내 사이트 외부 테마가 표시되는 이유는 무엇입니까? 나중에 특정 인스턴스에서 재정의하고 싶은 특성에 대해 중요하게 생각하는 것보다 더 선행적인 해결책이 보입니다.
Neberu 2015 년

2
@Neberu-브라우저에서 JS를 차단 / 해제 할 수 있기 때문입니다. !importantAFAIK 를 사용할 수 없습니다.
Tony

1
또한 js는 일반적으로 좋지 않습니다. 알 수없는 사람이 보낸 실행 파일을 열 수 있습니까? 그럴 생각하지만, 브라우저는 각각의 클릭으로이 작업을 수행
MY1

11

인라인 스타일을 제외하고 인라인 !important스타일을 쉽게 재정의 할 수 있습니다.

그래서

<div style="font-size: 18px; color: red;">
    Hello World, How Can I Change The Color To Blue?
</div>

div {
   color: blue !important; 
   /* This will  Work */
}

하지만 만약 당신이

<div style="font-size: 18px; color: red !important;">
    Hello World, How Can I Change The Color To Blue?
</div>

div {
   color: blue !important; 
   /* This Isn't Working */
}

이제는 red.. 일 뿐이며 재정의 할 수 없습니다.


1
몇 달 전에 추가 된 답변과 어떻게 다른가요?
Sinister Beard

4
@BFDatabaseAdmin이 답변은 인라인 스타일 !important에 다른 답변에서 다루지 않는 포인트 인 경우 동작을 설명합니다 . 이것은 완전히 독립된 답변이 아닐 수도 있지만 제공된 다른 답변과 다릅니다.
grg

그러나 중요한 인라인 스타일을 다시 사용하는 것은 기본적으로 어쨌든 가장 높은 우선 순위를 갖기 때문에 실제로 과잉입니다.
My1

6
<div style="background: red;">
    The inline styles for this div should make it red.
</div>

div[style] {
   background: yellow !important;
}

자세한 내용은 다음 링크를 참조하세요. http://css-tricks.com/override-inline-styles-with-css/


5
몇 달 전에 추가 된 답변과 어떻게 다른가요?
Sinister Beard

1
이미 답을 알고 있다면 차이가 없을 수도 있습니다.하지만 일부 초보자에게는 도움이되기를 바랍니다. 특히 더 자세한 링크는 ... 어쨌든 의견을 보내 주셔서 감사합니다.
jroi_web

1

사용되는 !importantCSS 속성에

<div style="color: red;">
    Hello World, How Can I Change The Color To Blue?
</div>

div {
        color: blue !important;
    }
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.