Bộ chọn CSS không phải là con đầu tiên và con cuối cùng


105

Tôi đang làm một trang web rất tiên tiến. Câu hỏi của tôi: Có thể chọn tất cả các con khác ngoại trừ dấu :first-child:last-childkhông? Tôi biết có một :not()bộ chọn nhưng nó không hoạt động với nhiều bộ không có trong ngoặc đơn. Đây là những gì tôi có:

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

Bạn thật dũng cảm khi sử dụng cái này. Hãy lưu ý rằng nó sẽ chỉ hoạt động trên các trình duyệt hiện đại và chắc chắn sẽ không hoạt động trên trình duyệt chống mà mọi người đang sử dụng.
rid đi

2
@Radu: "Tôi đang tạo một trang web rất tiên tiến" Không có gì ngạc nhiên khi ...
BoltClock

1
@BoltClock, đúng, chỉ nói ... Lời cảnh báo. Nhưng dù sao, nếu mục tiêu là Safari iOS như tên của hình ảnh gợi ý, thì nó sẽ an toàn.
rid

1
Bây giờ tôi thấy tại sao câu hỏi này trông rất quen thuộc ... stackoverflow.com/questions/7403129/comosystem-not-selectors
BoltClock

"chống trình duyệt"? Đó có phải là Google Ultron mới mà tôi vẫn nghe nói về không?
Jonathan Dumaine

Câu trả lời:


262

Cố gắng #navigation ul li:not(:first-child):not(:last-child).


TUYỆT VỜI CỦA BẠN! Cảm ơn bạn!
Daniel

1
rofl, sự ngu ngốc của tôi not()thậm chí đã thử điều này trước khi googling: P thiên tài
SidOfc

1
Đó là sai: not (A and B)không bằng (not A) and (not B), mà thà (not A) or (not B). Nó không hoạt động.
Hibou57

2
Không, những gì Salman Abbas nói là đúng. Bạn đang nghĩ đến dấu phẩy; #navigation ul li: không (: first-child), #navigation ul li: không (: cuối cùng con)
user847074

20

Chắc chắn nó sẽ hoạt động, bạn chỉ cần sử dụng hai bộ chọn 'không phải'.

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

Nó sẽ tiếp tục xuống dòng sau chữ đầu tiên, cho biết "không phải con đầu tiên" và "không phải con cuối cùng".

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.