10

高度なCSSセレクターでこれを実行できると思いましたが、苦労しました。

私はここに以下の例のJSフィドルを持っています

基本的に、最初の画像を除くすべての画像をここでターゲットにするにはどうすればよいですか?クラスやIDは使いたくありません。可能であれば、高度なセレクターを使いたいだけです。

つまり、.entry-content img:first-childのようなものです(ただし、それが機能しないことはわかっています)

<div class='entry-content'>
    <div>
        <img src='http://placedog.com/400/300'/>
    </div>
    <div>
        <img src='http://placedog.com/400/300'/>
    </div>        
     <div>
        <img src='http://placedog.com/400/300'/>
    </div>
</div>
4

4 に答える 4

18

最初のタグを除くすべてのimgタグを選択する場合は、:notサブクラスを使用します。

.entry-content div:not(:first-child) img


実例: http: //jsfiddle.net/GrAaA/


ブラウザサポート:http :
:not //caniuse.com/#search=%3Anot http://caniuse.com/#search=%3Afirst-child
:first-child

于 2012-08-22T14:52:03.507 に答える
6

要素自体は兄弟ですが、すべてがその最初で唯一の子であるためdiv、最初の子だけでなく、最初の子の画像を除外する必要があります。imgimgdivdiv

これを行うには、次のセレクターを使用できます。

.entry-content div + div img

divこれにより、別の直後に来るすべての画像が選択されるdivため、最初の画像は一致しません。

div内部以外に兄弟がいる場合は.entry-content、代わりに一般的な兄弟セレクターを使用する必要がある場合があります。

.entry-content div ~ div img
于 2012-08-22T14:44:57.120 に答える
0

すべての画像にスタイルを適用します。次に、他のスタイルを無効にするスタイルを最初の子に適用します。最初の子のスタイルがスタイルシートの他の画像のスタイルの後にあることを確認して、ブラウザによって正しい順序で適用されるようにします。

于 2012-08-22T14:47:59.130 に答える
0

これは役立つはずです

.entry-content div:first-child img {
     border: none;
}​
于 2012-08-22T14:49:56.290 に答える