1

W3C勧告では、を使用してクラスが定義されているアンカーを選択する機能を定義していますA[CLASS]{/*Code*/}が、先行詞はありますか?

クラスを持たないすべてのアンカーを選択できますか?

私の本能はを使用するA[~CLASS]{/*Code*/}ことですが、それは文書化されておらずA[CLASS=]{/*Code*/}、空の文字列であるクラス名を持つすべてのアンカーを選択します(たとえば<A CLASS="" HREF="http://example.com/">This anchor has a class, but it's empty.</A>)。

使用例


このコードでは、クラスレスリンクのみを緑色にします。

<HTML>
<HEAD>
<LINK REL="stylesheet" TYPE="text/css" HREF="http://example.com/externalUneditableStyles.CSS" />
<STYLE>
A.deadLink{
color:#FF0000 !important;
}
A{
color:#00FF00;
}

</STYLE>
</HEAD>

<BODY>
<A HREF="http://fakesite.not/" CLASS="deadLink">This link is red, as specified by the CSS above.</A>
<A HREF="http://example.com/">This link is green, as specified by the CSS above.</A>
<A HREF="#/childpage/" CLASS="childLink">This is a link to a child page, and is styled by external uneditable CSS. That CSS doesn't specify a color, so it is green, even though that might not be the intended effect.</A>
</BODY>
</HTML>
4

3 に答える 3

8

次のようなものを使用します。

a:not([class]) {
    /*some styling here*/
}

小さなデモ:小さなリンク

于 2012-09-06T19:57:57.893 に答える
0

あなたがそうするならば、それはまさにカスケードが何のためであるかです:

a { color: #000; } /* this targets all anchors */

その後、スタイルシートでこれを行うことができます

a.classname { color: #ffcc00; } /* to override the color for the once with the classname class defined. */

それがあなたの質問を明確にすることを願っています。

于 2012-09-06T20:02:06.337 に答える
0

.foo:not(.bar)-pseudoセレクターで遊んでみてください。また、タグを大文字でコーディングしないことをお勧めします。HTML5では許可されていると思いますが、XHTMLでは許可されていません。それでも、その慣習は嫌われています。

于 2012-09-06T22:25:48.097 に答える