22

私はあらゆる種類のことを試しましたが、複雑になりすぎて、セレクターでクロムをハングアップさせることさえできたと思います。これを行う簡単な方法があると確信しています

classa存在しない場合にのみ選択classbし、最後のインスタンスを無視します

<div class="container">
    <div class="classa classb"></div> <!-- Dont Select -->
    <div class="classa"></div>  <!-- Select -->
    <div class="classa"></div>  <!-- Dont select last instance -->
</div>
4

4 に答える 4

30

選択したものを使用してCSS3でこれを行うことができると思います:not()(例はこちら

div.classa:not(.classb):not(:last-child) {}

ただし、ご存じのように、これをサポートしているブラウザーは多くないため、Javascript の方が簡単な方法かもしれません...

于 2012-05-27T10:02:41.300 に答える
5
.classa:not(.classb):not(:last-child) {
    /* rules */
}

Firefox 12、Chrome 19、Safari 5、Opera 10 でテスト済み。残念ながら、IE では動作しません。

于 2012-05-27T10:00:46.873 に答える
1

試す:

.classa:not(.classb):first-child {
    background: red;
}

ただし、これは IE 7 または 8 では機能しません。

于 2012-05-27T10:01:58.430 に答える
0

CSS3 疑似クラスの場合:

.classa:not(:last-child):not(.classb) {
  // some rules...
}
于 2012-05-27T10:00:32.863 に答える