Pemilih CSS untuk selain anak pertama dan anak terakhir


105

Saya membuat situs web yang sangat canggih. Pertanyaan saya: Apakah mungkin untuk memilih semua anak lain kecuali untuk :first-childdan :last-child? Saya tahu ada :not()pemilih tetapi tidak berfungsi dengan lebih dari satu yang tidak ada di dalam tanda kurung. Inilah yang saya miliki:

#navigation ul li:not(:first-child, :last-child) {
    background: url(images/UISegmentBarButtonmiddle@2x.png);
    background-size: contain;
}

Anda sangat berani untuk menggunakan ini. Perhatikan bahwa ini hanya akan berfungsi di browser modern, dan itu pasti tidak akan berfungsi pada anti-browser yang digunakan semua orang.
singkirkan

2
@Radu: "Saya membuat situs web yang sangat canggih" Tidak mengherankan ...
BoltClock

1
@BoltClock, benar, hanya mengatakan ... Kata peringatan. Tapi bagaimanapun, jika targetnya adalah Safari iOS seperti yang disarankan oleh nama gambar, maka itu harus aman.
singkirkan

1
Sekarang saya mengerti mengapa pertanyaan ini terlihat begitu familiar ... stackoverflow.com/questions/7403129/combining-not-selectors
BoltClock

"anti-browser"? Apakah itu Google Ultron baru yang selalu saya dengar?
Jonathan Dumaine

Jawaban:


262

Coba #navigation ul li:not(:first-child):not(:last-child).


KAMU LUAR BIASA! Terima kasih!
Daniel

1
rofl, kebodohan saya not()bahkan mencoba ini sebelum googling: P jenius
SidOfc

1
Itu salah: not (A and B)tidak sama dengan (not A) and (not B), itu lebih baik (not A) or (not B). Tidak bekerja.
Hibou57

2
Tidak apa yang dikatakan Salman Abbas benar. Anda memikirkan koma; #navigation ul li: not (: first-child), #navigation ul li: not (: last-child)
user847074

20

Tentu itu akan berhasil, Anda hanya perlu menggunakan dua pemilih 'bukan'.

#navigation ul li:not(:first-child):not(:last-child) {

Ini akan berlanjut ke baris setelah yang pertama, mengatakan "bukan anak pertama" dan "bukan anak terakhir".

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.