Bagaimana saya bisa memilih semua tr
elemen kecuali yang pertama tr
dalam tabel dengan CSS?
Saya mencoba menggunakan metode ini , tetapi ternyata tidak berhasil.
css
css-selectors
Alexander Abakumov
sumber
sumber
<tr>
dan berbeda untuk kelas lainnya.Jawaban:
Dengan menambahkan kelas ke s pertama
tr
atau berikutnyatr
. Tidak ada cara crossbrowser memilih baris yang Anda inginkan dengan CSS saja.Namun, jika Anda tidak peduli dengan Internet Explorer 6, 7 atau 8:
sumber
tr:not(:first-of-type)
sebagai solusi potensial juga, jika Anda mencari contoh pertama dari pemilih tertentu daripada anak umum pertama.Saya terkejut tidak ada yang menyebutkan penggunaan combinator saudara, yang didukung oleh IE7 dan yang lebih baru:
Keduanya berfungsi dengan cara yang persis sama (dalam konteks tabel HTML):
sumber
elem + elem
adalah solusi umum yang bagus untuk ketika elemen yang ingin Anda targetkan bukan hanya anak-anak. Misalnya, jika a<h2>
diikuti oleh beberapa<p>
tag, yang pertama<p>
bukan anak pertama dalam kasus itu.solusi ideal tetapi tidak didukung di IE
Solusi kedua adalah menata semua tr's dan kemudian menimpanya dengan css untuk anak pertama:
sumber
kedengarannya seperti 'baris pertama' yang sedang Anda bicarakan adalah header-tabel Anda - jadi Anda benar-benar harus memikirkan untuk menggunakan
thead
dantbody
dalam markup Anda ( klik di sini ) yang akan menghasilkan markup 'lebih baik' (semantik benar, berguna untuk hal-hal seperti pembaca layar ) dan kemungkinan yang lebih mudah, lintas-browser-ramah untuk pemilihan css (table thead ... { ... }
)sumber
Meskipun pertanyaannya sudah memiliki jawaban yang layak, saya hanya ingin menekankan bahwa
:first-child
labelnya bertipe item yang mewakili anak-anak.Misalnya, dalam kode:
Jika Anda ingin memengaruhi hanya dua elemen kedua dengan margin, tetapi bukan yang pertama, Anda harus:
yaitu, karena
input
s adalah anak-anak, Anda akan menempatkanfirst-child
pada bagian input pemilih.sumber
Maaf saya tahu ini sudah tua tetapi mengapa tidak gaya semua elemen tr seperti yang Anda inginkan semua kecuali yang pertama dan penggunaan kelas psuedo: anak pertama di mana Anda mencabut apa yang Anda tentukan untuk semua elemen tr.
Lebih baik dijelaskan dengan contoh ini:
http://jsfiddle.net/DWTr7/1/
/ Patrik
sumber
Karena
tr:not(:first-child)
tidak didukung oleh IE 6, 7, 8. Anda dapat menggunakan bantuan jQuery. Anda dapat menemukannya di sinisumber
Pilihan lain:
sumber
Mungkin seseorang bisa mendapat manfaat, berikut ini yang saya gunakan
sumber
Anda juga bisa menggunakan pemilih kelas pseudo di CSS Anda seperti ini:
Itu tidak akan menerapkan kelas ke elemen pertama dengan kelas .desc.
Berikut ini JSFiddle dengan sebuah contoh: http://jsfiddle.net/YYTFT/ , dan ini adalah sumber yang bagus untuk menjelaskan pemilih kelas pseudo: http://css-tricks.com/pseudo-class-selectors/
sumber
first-child
mengabaikan kelas.Anda bisa membuat kelas dan menggunakan kelas ketika Anda menentukan semua masa depan Anda bahwa Anda ingin (atau tidak ingin) dipilih oleh CSS.
Ini akan dilakukan dengan menulis
dan kemudian di css Anda memiliki garis (dan menggunakan perintah text-align sebagai contoh):
sumber