6

次のような DOM があります。

<div class="outer">
    <div class="inner"> <!--// No "copyright" in this node //-->
        <div class="content">...</div>
    </div>
    <div class="inner">
        <div class="content">...</div>
        <div class="copyright">...</div> <!--// DISPLAY THIS ONE //-->
    </div>
    <div class="inner">
        <div class="content">...</div>
        <div class="content">...</div>
        <div class="content">...</div>
        <div class="copyright">...</div> <!--// Hide this one //-->
    </div>
    <div class="inner">
        <div class="content">...</div>
        <div class="content">...</div>
        <div class="copyright">...</div> <!--// Hide this one too, etc. //-->
    </div>
    <!--// etc. //-->
</div>

最初の要素を除いて、クラス「著作権」を持つすべての要素を非表示にする必要があります。

このアプローチを適用しようとしましたが、残念ながら成功しませんでした。CSS のみのソリューションである必要があります。何か案が?

ご協力いただきありがとうございます!

4

2 に答える 2

5

この場合、それぞれ.copyrightが で最初で唯一のその種類で.innerあるため、代わりに by を選択する必要があります.inner。最初の子に特別なルールを適用する必要がない場合は、他の質問で説明したアプローチを使用する必要はありません。これを使用して、他の要素を非表示にします。

.inner ~ .inner .copyright {
    display: none;
}
于 2012-06-22T08:18:11.133 に答える
0

これを試してみてくださいJSfiddle

div.inner > .copyright { display:none; }
div.inner:first-child .copyright { display:block; background:#000; }

</p>

于 2012-06-22T08:26:17.743 に答える