문제

속성 세트가있는 요소 스타일은 쉽습니다. E[attr].

속성이없는 것에 따라 CSS2로 요소를 스타일링하는 방법이 있습니까? E[!attr]? (JavaScript 솔루션은 옵션이 아닙니다).

예를 들어, ID 규칙과 몇 가지 클래스 규칙이 있습니다.

.abc {padding:1em;}
.def {padding:2em;}
#n a {padding:0;}

HTML 코드는 다음과 같습니다.

<div id="n"><a href="" class="abc">.</a><a href="" class="def">.</a></div>

클래스 abc 그리고 def ID-ED 규칙에 대한 우선 순위가 낮습니다 a 패딩 0이 있습니다. 위의 규칙 순서를 변경할 수는 없지만 ID-ED 규칙을 변경할 수 있습니다. 나는 같은 규칙을 쓰지 않고 싶다 #n a.abc 모든 수업에 대해 (많은 사람들이 있습니다). 대신 나는 같은 것을 필요로한다 #n a[!class] 모든 클래스 엔드를 유지합니다 a손상되지 않습니다.

도움이 되었습니까?

해결책

슬프게도 CSS2가 아닙니다. 당신이 할 수있는 최선은 선언을 캐스케이드하는 것입니다.

E {color: red}
E[attr] {color: blue}

그러나 IE6은 속성 선택기를 존중하지 않기 때문에 실제로 의존 할 수는 없습니다.

그러나 CSS3에는 사랑스러운 것이 있습니다 ":"의사 선택기 (pseudo selector)http://www.w3.org/tr/css3-selectors/#negation).

편집하다

명확히 해주셔서 감사합니다. 어때요 :

.abc {padding:1em; !important} .def{padding:2em; !important}

#n a{padding: 1em}

다른 팁

나는 이것이 CSS2에서 할 수 있다고 생각하지 않습니다. CSS3에서는 사용합니다 "아님"구문:

input:not([type="file"])
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top