Wordpress 템플릿의 원래 CSS를 재정의하는 사용자 지정 스타일 시트를 만들었습니다. 그러나 내 캘린더 페이지에서 원래 CSS는 !important
선언으로 설정된 각 테이블 셀의 높이를 갖습니다 .
td {height: 100px !important}
이것을 무시할 수있는 방법이 있습니까?
!important
해로운 것으로 간주되는 이유 입니다.
Wordpress 템플릿의 원래 CSS를 재정의하는 사용자 지정 스타일 시트를 만들었습니다. 그러나 내 캘린더 페이지에서 원래 CSS는 !important
선언으로 설정된 각 테이블 셀의 높이를 갖습니다 .
td {height: 100px !important}
이것을 무시할 수있는 방법이 있습니까?
!important
해로운 것으로 간주되는 이유 입니다.
답변:
!important
하고 선택기에 더 높은 고유성을 부여합니다 (선택기에 태그, ID 또는 클래스 추가 추가).특이성이 더 높은 일부 예 (첫 번째는 가장 높거나 무시하고 세 번째는 가장 낮음)
table td {height: 50px !important;}
.myTable td {height: 50px !important;}
#myTable td {height: 50px !important;}
또는 기존 선택기 뒤에 동일한 선택기를 추가하십시오.
td {height: 50px !important;}
거의 사용하지 않는 것이 좋습니다 !important
. 이것은 WordPress 템플릿을 만든 사람에게는 나쁜 엔지니어링입니다. 바이러스 방식으로 템플릿 사용자는 자신의 !important
수정자를 추가하여 템플릿을 재정의하고 JavaScript를 통한 템플릿 재정의 옵션을 제한합니다.
그러나 때로는 재정의 하는 방법 을 아는 것이 유용 합니다.
!important
있습니다. Stylish, AdBlock 또는 uBlock 스크립트의 브라우저 또는 사이트 전체 스타일 재정의와 같습니다. 또는 매우 복잡한 기본 CSS에 쉽게 액세스 할 수없는 경우에는 매우 복잡하고 많은 파일을 통해 확산되며 시간이 지남에 따라 변경 될 수도 있습니다 (또한 사용할 수도 있음 !important
). 다른 툴과 마찬가지로 포지티브 또는 네거티브 전위는 사용 방법에 따라 다릅니다. 사람들은 이와 같은 일이나 goto / eval / globals / etc와 같은 일을 할 때마다 원숭이를 멈추어야합니다. 언급됩니다. "물건을 놓칠"가능성이 너무 높기 때문에 "워드 프레스 피하기"또는 "CSS 피하기"라고 말할 수도 있습니다.
은 !important
당신이 충돌하여 스타일 시트에 선택기가있는 경우에만 사용해야합니다 특이성을 .
그러나 특성이 상충되는 경우에도 예외에 대해보다 구체적인 선택자를 작성하는 것이 좋습니다. 귀하의 경우 규칙이 class
필요없는보다 구체적인 선택기를 만드는 데 사용할 수있는 HTML을 사용하는 것이 !important
좋습니다.
td.a-semantic-class-name { height: 100px; }
나는 개인적 !important
으로 내 스타일 시트에 사용하지 않습니다 . CSS의 C는 계단식입니다. 를 사용하면 문제 !important
가 발생합니다.
!important
를 들어 스타일 시트 의 규칙은 style
태그 의 일반 규칙보다 우선합니다 . 그러나 경우에 따라보다 구체적인 규칙이 규칙보다 우선합니다. 당신이 설정 한 경우 예를 들어, font-size: 24pt !important
에가 body
, 당신은 여전히 그것을 대체 할 수 있습니다 font-size: 12pt
에 p
. !important
규칙을 재정의하지 않고 의 암시 적을 재정의하기 때문 font-size: inherit
입니다 p
.
면책 조항 : 모든 비용에 중요하지 마십시오!
이것은 더럽고 더러운 해킹이지만 중요를 무시하려는 속성에 (무한하게 반복되거나 매우 오래 지속되는) 애니메이션을 사용하여! important없이! important를 무시할 수 있습니다.
@keyframes forceYellow {
from {
background-color: yellow;
}
to {
background-color: yellow;
}
}
div {
width: 100px;
height: 100px;
margin: 0 auto;
background: red !important;
animation: 1s linear infinite forceYellow;
}
<div></div>
여기 CSS 중요성에 대한 간단한 교훈이 있습니다. 아래가 도움이되기를 바랍니다!
먼저 스타일의 모든 부분이 가중치로 이름 지정되므로 해당 스타일과 관련된 요소가 많을수록 더 중요합니다. 예를 들어
#P1 .Page {height:100px;}
보다 더 중요하다 :
.Page {height:100px;}
따라서 중요한 것을 사용할 때 이상적으로는 실제로 필요할 때만 사용해야합니다. 따라서 편차를 무시하려면 스타일을 더 구체적으로 지정하고 재정의를 사용하십시오. 아래를보십시오 :
td {width:100px !important;}
table tr td .override {width:150px !important;}
이게 도움이 되길 바란다!!!
!important
다시 정의에 의해 대체 될 수 .old로 클래스 이름 {즐 즐 즐} 로 .old로-클래스 name.overrided {즐 즐 즐} 의 <style></style>
구성 요소 위의 태그, 나를 위해 그것의 일
JavaScript를 사용하여 재정의
$('.mytable td').attr('style', 'display: none !important');
나를 위해 일했다.
위에서 언급하지 않은 답변을 추가하고 싶습니다. 위의 내용을 모두 사용해 보았습니다. 내 구체적인 상황은 !important
요소 에 속성 이 내장 된 semantic-ui를 사용하고 있다는 것입니다 (매우 성가시다). 나는 그것을 재정의하기 위해 모든 것을 시도했지만 결국에는 한 가지 일만했습니다 (jquery 사용). 다음과 같습니다.
$('.active').css('cssText', 'border-radius: 0px !important');
attr('style', ...
대신 Manish의 답변을 참조하십시오
!important
도 사용해 보셨습니까 ? CSS 시트가 원본 템플릿 뒤에 정의되어 있으면 잘 작동합니다.