2016-07-15 6 views
0
このスニペットでは

n番目の子はlast-of-typeと競合しますか?

.post { border-bottom: 1px solid black; } 
 
.post:nth-child(2n) { background-color: #DDD; } 
 
.post:last-of-type { border-bottom: none; }
<div> 
 
    <div class="post">This is post 1.</div> 
 
    <div class="post">This is post 2.</div> 
 
    <div class="post">This is post 3.</div> 
 
    <div id="last">This is not a post! This is the last element here.</div> 
 
</div>

私はポスト3と最後の要素の間に境界線を削除します。

+1

しかし、あなたの最後の型divがあなたのスクリーンショットごとにIDないクラスで示し.. – vignesh

+2

確かに...あなたが、「クラスの最後」の後にあることが表示されます。..それが存在しない、 –

+0

最後のタイプの仕事をするには、この場合divのようなdiv.class:最後の....どのようなタイプを知らせなければならない –

答えて

1

私は最終的に解決策に来た:

.post { border-bottom: 1px solid black; } 
 
.post:nth-child(2n) { background-color: #DDD; } 
 
.post:nth-last-child(2) { border-bottom: none; }
<div> 
 
    <div class="post">This is post 1.</div> 
 
    <div class="post">This is post 2.</div> 
 
    <div class="post">This is post 3.</div> 
 
    <div id="last">This is not a post! This is the last element here.</div> 
 
</div>

+0

素敵な修正! jqueryルートを試していたが、それを行う方法をdefします! – HisPowerLevelIsOver9000

+0

ありがとう:)しかし...事は私が実際にjQueryを使用することはできません:DD – ForceMagic

+0

@ HisPowerLevelIsOver9000そして私はこのHTMLを作った私のジェネレータのスクリプトを変更していました。 :D – ForceMagic

0

last-of-classがないとして、あなたは戻って落下する必要がありますいずれかのJavascriptすべてのクラス化のdivにトップに国境を切り替えると、それを最初のものから取り除く。

div div { 
 
    height:50px; 
 
    background: pink; 
 
    } 
 

 
.post { 
 
    border-top: 1px solid black; 
 
} 
 
.post:nth-child(2n) { 
 
    background-color: #DDD; 
 
} 
 
.post:first-child { 
 
    border-top: none; 
 
}
<div> 
 
    <div class="post">This is post 1.</div> 
 
    <div class="post">This is post 2.</div> 
 
    <div class="post">This is post 3.</div> 
 
    <div id="last">This is not a post! This is the last element here.</div> 
 
</div>

+0

ありがとうございましたが、私はすでに下の境界線でそれを可能にしました。そこの私の答えを見てください。 – ForceMagic

関連する問題