CSS를 사용하여 element.style 재정의


83

페이지 빌더의 HTML 페이지가 있으며 style속성을 요소에 직접 삽입 합니다. 나는 그것이 element.style.

CSS를 사용하여 재정의하고 싶습니다. 요소를 일치시킬 수 있지만 무시하지는 않습니다.

스크린 샷

CSS를 사용하여 스타일을 재정의하려면 어떻게해야합니까?


2
스타일 주입의 출처를 찾아 제거 하시겠습니까? 문서 소스에 없으면 JavaScript에서 어딘가에있을 수 있습니다.
cimmanon 2013

2
출처를 어떻게 찾을 수 있습니까?
Shailen 2013 년

2
command + shift + f (mac에서) 또는 ctrl + shift + f (PC에서)
maahd

JS에서 대안 사용하여 추가 속성을 제거 할 수 있습니다 removeProperty()ieeg는, document.querySelector("li").style.removeProperty("display"); 그럼 당신은 당신이해야 할 것처럼 (새로운 디폴트 값을 제공 할 필요가 없습니다 !important만, 상속 체인은 "점프".
rugk

답변:


124

종종 눈살을 찌푸 리지만 기술적으로 다음을 사용할 수 있습니다.

display: inline !important;

일반적으로 좋은 방법은 아니지만 경우에 따라 필요할 수 있습니다. 해야 할 일은 <li>처음에 요소에 스타일을 적용하지 않도록 코드를 편집하는 것입니다 .


17
element.style은 마크 업에 있음을 의미하므로 html에서 볼 수 있습니다<li style="display: none;">
DiscoInfiltrator

1
jQuery에서 show () 메서드를 사용할 때 display : block; 요소 스타일에 적용됩니다. 나는 그것이 표시되기를 원했다 : inline-block; 그러나. 먼저이 방법을 사용하지 않고 .css ( 'display', 'inline-block'); 대신. 그러나이 예제를 읽은 후에는! important를 사용하는 것으로 변경 될 것이라고 생각합니다.
Simon Bengtsson

jQuery는 표시되는 요소의 기본값이 무엇이든 표시 속성을 설정합니다.
folktrash

1
이것이 나를 위해 일했을 때 말 그대로 "gtf outta here"라고 외쳤습니다. 제 여자 친구를 화나게했습니다
jag

2
이 주석의 대부분은 소스 코드에 대한 액세스 권한이 있다고 가정합니다. 코더가 인라인 스타일이 추가 된 라이브러리를 만들지 않았다면 이러한 나쁜 관행을 수행 할 필요가 없습니다.
TallOrderDev

20

이 CSS는 JavaScript도 덮어 씁니다.

#demofour li[style] {
    display: inline !important;
} 

또는 처음에만

#demofour li[style]:first-child {
    display: inline !important;
}

12

element.style 마크 업에서옵니다.

<li style="display: none;">

styleHTML 에서 속성을 제거하기 만하면 됩니다.


Im 추가하지 않음 <li style = "display : none;">
DW

어딘가에 주입됩니다. 나도 그것을 찾고 있습니다. Google지도가이 D :를 수행한다고 생각합니다.
icedwater 2014-04-24

1
그가 자신을 그것에 도달하고 그것을 제거 할 수있는 것보다 주사 있다면, 그는 그것을 무시한다
jonyB

5

! important를 사용하면 Change와 같은 CSS를 통해 element.style이 재정의됩니다.

color: #7D7D7D;

...에

color: #7D7D7D !important;

그렇게해야합니다.


5

물론 여기서! important 트릭이 결정적이지만 더 구체적으로 타겟팅하면 재정의가 실제로 적용되는 것 (가중 기준이! important를 지배 할 수 있음)뿐만 아니라 의도하지 않은 요소를 재정의하는 것을 방지하는 데 도움이 될 수 있습니다.

브라우저의 개발자 도구를 사용하여 문제가되는 스타일 속성의 정확한 값을 식별하십시오. 예 :

"font-family: arial, helvetica, sans-serif;"

또는

"display: block;"

그런 다음 재정의 할 선택기 분기를 결정합니다. 필요에 맞게 선택을 넓히거나 좁힐 수 있습니다. 예 :

p span

또는

section.article-into.clearfix p span

마지막으로 custom.css에서 [attribute ^ = value] 선택기와! important 선언을 사용합니다.

p span[style^="font-family: arial"] {
  font-family: "Times New Roman", Times, serif !important;
}

전체 스타일 속성 값을 인용 할 필요는 없으며 문자열과 모호하지 않게 일치시키기에 충분합니다.


0

내 지식에 따라 인라인 스타일이 먼저 나오므로 CSS 클래스가 작동하지 않아야합니다.

Jquery를 다음과 같이 사용하십시오.

$(document).ready(function(){

   $("#demoFour li").css("display","inline");
  });

You can also try 

#demoFour li { display:inline !important;}

0

JavaScript를 사용하십시오.

예를 들면 :

var elements = document.getElementById("demoFour").getElementsByTagName("li");
for (var i = 0; i < elements.length; i++) {
    elements[i].style.display = "inline";
}

0

요소 스타일의 잘못된 속성을 참조하여 CSS의 스타일을 재정의 할 수 있습니다. 제 경우에는이 두 코드가 15px로 설정되어 배경 이미지가 검게 변합니다. 그래서 0px로 재정의하고! important를 배치하여 우선 순위가됩니다.

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