1

私のコード:

<div class="allegati-item">
    <div class="allegati-titolo">Download</div>
    <a class="allegati-link" href="/documenti/DocumentoTest.pdf">Link1</a>
    <a class="allegati-link" href="/documenti/DocumentoTest.pdf">Link2</a>
</div>

.allegati-link
{
    border-top:1px solid #FF0000;
    display:block;
    margin-bottom:4px;
}

.allegati-item a.allegati-link:first-child
{
    border:0;
}​

最初の要素のボーダーを削除したいのですallegati-linkが、その前に div があるので、allegati-itemこれはできないようですか?

4

4 に答える 4

3

代わりにこれを試すことができます:

.allegati-item .allegati-titolo + a.allegati-link{
于 2012-07-04T13:18:25.987 に答える
3

:first-of-type代わりに使用するか、

.allegati-item > .allegati-titolo + a

最初のバージョンはマークアップへの依存度が低いのに対し、最後のバージョンは (IE7 以降) ブラウザーのサポートがわずかに向上しています。

于 2012-07-04T13:19:45.510 に答える
2

それ:first-of-typeがおそらく最良の選択であると仮定して、これはまだその疑似クラスをサポートしていないブラウザーの別の代替手段です

.allegati-link { border: 0; }
.allegati-link + .allegati-link { border-top: ...}

そうすることで、最初のリンクからのみ境界線が削除されます。

于 2012-07-04T13:24:56.877 に答える
0

これもできます

$(".allegati-titolo").next().attr("style", "border-top:0px; display:block; margin-bottom:4px;");

これにより、最初に class="allegati-titolo" を持つ div の次の要素が選択され、次にスタイルが最初のリンクに適用されます。

于 2012-07-04T14:37:50.987 に答える