<div class="commentList">
<article class="comment " id="com21"></article>
<article class="comment " id="com20"></article>
<article class="comment " id="com19"></article>
<div class="something"> hello </div>
</div>
Saya ingin memilih #com19
?
.comment {
width:470px;
border-bottom:1px dotted #f0f0f0;
margin-bottom:10px;
}
.comment:last-child {
border-bottom:none;
margin-bottom:0;
}
Itu tidak berfungsi selama saya memiliki div.something
anak terakhir yang sebenarnya di commentList. Apakah mungkin untuk menggunakan pemilih anak terakhir dalam hal ini untuk memilih penampilan terakhir article.comment
?
html
css
css-selectors
matt
sumber
sumber
last-of-class
.:nth-match(selector)
dan:nth-last-match(selector)
. Lihat w3.org/TR/selectors4 untuk detail lebih lanjut.:nth-last-child(An+B of selector)
seperti:nth-last-match()
yang dijatuhkan jauh sebelum itu, tetapi mereka tidak repot-repot memperbarui WD. Lihat stackoverflow.com/questions/21167159/css-nth-match-doesnt-work/…Jika Anda mengapung elemen, Anda dapat membalik urutan
yaitu
float: right;
bukannyafloat: left;
Dan kemudian gunakan metode ini untuk memilih anak pertama dari suatu kelas.
Ini sebenarnya menerapkan kelas ke instance LAST hanya karena sekarang dalam urutan terbalik.
Ini adalah contoh untuk Anda:
sumber
.some-class~.some-class
bekerja bagus untuk saya ketika hanya 2 elemen yang diulang.Saya kira jawaban yang paling benar adalah: Gunakan
:nth-child
(atau, dalam kasus khusus ini, mitranya:nth-last-child
). Sebagian besar hanya tahu pemilih ini dengan argumen pertamanya untuk mengambil berbagai item berdasarkan perhitungan dengan n, tetapi juga dapat mengambil argumen kedua "dari [pemilih CSS apa pun]".Skenario Anda dapat diselesaikan dengan pemilih ini:
.commentList .comment:nth-last-child(1 of .comment)
Tetapi secara teknis benar bukan berarti Anda dapat menggunakannya, karena pemilih ini sekarang hanya diterapkan di Safari.
Untuk bacaan lebih lanjut:
sumber
Sesuatu yang saya pikir harus dikomentari di sini yang bekerja untuk saya:
Menggunakan
:last-child
beberapa kali di tempat-tempat yang dibutuhkan sehingga selalu mendapatkan yang terakhir dari yang terakhir.Ambil ini sebagai contoh:
sumber
Bagaimana dengan solusi ini?
sumber
article
sini, jadi: not (: last-child) tidak perlu untuk contoh yang diberikan.something
tidak ada dalam HTML asli dan sedang dimasukkan secara dinamishover
? Bukankah solusi ini akan gagal?jika jenis elemen terakhir adalah artikel juga,
last-of-type
tidak akan berfungsi seperti yang diharapkan.mungkin saya tidak begitu mengerti cara kerjanya.
demo
sumber