Hướng dẫn how do i select the first child of a class in css? - làm cách nào để chọn đứa trẻ đầu tiên của một lớp trong css?
Đây là một trong những ví dụ nổi tiếng nhất về các tác giả hiểu lầm cách thức hoạt động của 0. Được giới thiệu trong CSS2, lớp giả ____1010 đại diện cho đứa con đầu lòng của cha mẹ. Đó là nó. Có một quan niệm sai lầm rất phổ biến rằng nó chọn bất kỳ phần tử con nào là người đầu tiên phù hợp với các điều kiện được chỉ định bởi phần còn lại của bộ chọn hợp chất. Do cách các bộ chọn hoạt động (xem ở đây để giải thích), điều đó chỉ đơn giản là không đúng.the very first child of its parent. That's it. There's a very common misconception that it picks up whichever child element is the first to match the conditions specified by the rest of the compound selector.
Due to the way selectors work (see here for an explanation), that is simply not true. Show Các bộ chọn Cấp 3 giới thiệu một lớp giả 2, đại diện cho yếu tố đầu tiên trong số các anh chị em thuộc loại phần tử của nó. Câu trả lời này giải thích, với hình minh họa, sự khác biệt giữa ____10 và 2. Tuy nhiên, như với 0, nó không xem xét bất kỳ điều kiện hoặc thuộc tính nào khác. Trong HTML, loại phần tử được biểu diễn bằng tên thẻ. Trong câu hỏi, loại đó là 6.Thật không may, không có lớp giả tương tự 7 để phù hợp với yếu tố con đầu tiên của một lớp nhất định. Vào thời điểm câu trả lời này được đăng lần đầu tiên, FPWD mới được xuất bản của Bộ chọn cấp 4 đã giới thiệu một lớp giả 8, được thiết kế xung quanh cơ học chọn hiện tại như tôi đã đề cập trong đoạn đầu tiên bằng cách thêm một đối số danh sách chọn, qua đó bạn có thể cung cấp Phần còn lại của bộ chọn hợp chất để có được hành vi lọc mong muốn. Trong những năm gần đây, chức năng này đã được đặt vào chính 9, với danh sách bộ chọn xuất hiện dưới dạng đối số thứ hai tùy chọn, để đơn giản hóa mọi thứ cũng như ngăn chặn ấn tượng sai mà 8 phù hợp trên toàn bộ tài liệu (xem ghi chú cuối cùng bên dưới).Mặc dù chúng tôi đang chờ hỗ trợ trình duyệt chéo (nghiêm túc, đã gần 10 năm và chỉ có một triển khai duy nhất trong 5 năm qua), một cách giải quyết mà Lea Verou và tôi đã phát triển độc lập (cô ấy đã làm điều đó trước tiên!) Để áp dụng các kiểu mong muốn của bạn cho tất cả các yếu tố của bạn với lớp đó:
... Sau đó, "hoàn tác" các kiểu cho các phần tử với lớp đến sau cái đầu tiên, sử dụng bộ kết hợp anh chị em chung 1 trong một quy tắc ghi đè:
Bây giờ chỉ có yếu tố đầu tiên với 2 sẽ có biên giới.Đây là một minh họa về cách áp dụng các quy tắc:
Như một phần thưởng, mặc dù nó được giới thiệu trong Bộ chọn 3, nhưng tổ hợp anh chị em chung thực sự được IE7 và mới hơn, không giống như 2 và 0 chỉ được IE9 trở đi hỗ trợ. Nếu bạn cần hỗ trợ trình duyệt tốt, bạn sẽ gặp may.Trên thực tế, thực tế là bộ kết hợp anh chị em là thành phần quan trọng duy nhất trong kỹ thuật này và nó có sự hỗ trợ của trình duyệt tuyệt vời như vậy, làm cho kỹ thuật này rất linh hoạt - bạn có thể điều chỉnh nó để lọc các yếu tố bởi những thứ khác, bên cạnh các bộ chọn lớp:
Lưu ý rằng để điều này hoạt động, bạn sẽ cần biết trước các kiểu mặc định sẽ là gì cho các yếu tố anh chị em khác của bạn để bạn có thể ghi đè quy tắc đầu tiên. Ngoài ra, vì điều này liên quan đến việc ghi đè các quy tắc trong CSS, bạn không thể đạt được điều tương tự với một bộ chọn duy nhất để sử dụng với API bộ chọn hoặc trình định vị CSS của Selenium. Trên một lưu ý cuối cùng, hãy nhớ rằng câu trả lời này giả định rằng câu hỏi đang tìm kiếm bất kỳ số lượng yếu tố con đầu lòng nào có một lớp nhất định. Không có một giải pháp CSS giả cũng không phải là giải pháp CSS chung cho trận đấu thứ n của bộ chọn phức tạp trên toàn bộ tài liệu-liệu một giải pháp có tồn tại hay không phụ thuộc nhiều vào cấu trúc tài liệu. JQuery cung cấp 2, 3, 4 và nhiều hơn nữa cho mục đích này, nhưng lưu ý rằng chúng hoạt động rất khác với 9 et al. Sử dụng API của Bộ chọn, bạn có thể sử dụng 6 để có được trận đấu đầu tiên:
Hoặc sử dụng 7 với trình chỉ mục để chọn bất kỳ trận đấu cụ thể nào:
Mặc dù giải pháp 8 trong câu trả lời được chấp nhận ban đầu của Philip Daubmeier Works (ban đầu được viết bởi Martyn nhưng bị xóa kể từ đó), nhưng nó không hoạt động theo cách bạn mong đợi.Ví dụ: nếu bạn chỉ muốn chọn 6 ở đây:
... Sau đó, bạn không thể sử dụng 0 (tương đương với 8), bởi vì mỗi phần tử là loại đầu tiên (và duy nhất) một trong loại ( 6 và 3 tương ứng), vì vậy cả hai sẽ được bộ chọn khớp.Khi yếu tố đầu tiên của một lớp nhất định cũng là loại đầu tiên của loại, lớp giả sẽ hoạt động, nhưng điều này chỉ xảy ra bởi sự trùng hợp. Hành vi này được thể hiện trong câu trả lời của Philip. Thời điểm bạn dán trong một phần tử cùng loại trước phần tử này, bộ chọn sẽ thất bại. Lấy đánh dấu từ câu hỏi:this happens only by coincidence. This behavior is demonstrated in Philip's answer. The moment you stick in an element of the same type before this element, the selector will fail. Taking the markup from the question:
Áp dụng một quy tắc với 0 sẽ hoạt động, nhưng một khi bạn thêm một 6 khác mà không có lớp:
... Bộ chọn sẽ ngay lập tức thất bại, vì phần tử 6 đầu tiên hiện là phần tử 6 thứ hai.
Làm thế nào để bạn chọn đứa con đầu lòng của một lớp trong CSS?: Bộ chọn loại đầu tiên trong CSS cho phép bạn nhắm mục tiêu vào sự xuất hiện đầu tiên của một phần tử trong thùng chứa của nó. Nó được định nghĩa trong các bộ chọn CSS Cấp độ 3 là một lớp giả cấu trúc của lớp, có nghĩa là nó được sử dụng để tạo kiểu nội dung dựa trên mối quan hệ của nó với nội dung cha mẹ và anh chị em. in CSS allows you to target the first occurence of an element within its container. It is defined in the CSS Selectors Level 3 spec as a “structural pseudo-class”, meaning it is used to style content based on its relationship with parent and sibling content.
Làm cách nào để chọn một đứa trẻ cụ thể trong CSS?Bộ chọn: nth-child (n) phù hợp với mọi yếu tố là con thứ n của cha mẹ. n có thể là một số, một từ khóa (lẻ hoặc thậm chí) hoặc một công thức (như + b). Mẹo: Nhìn vào bộ chọn: nth-of-type () để chọn phần tử là con thứ n, cùng loại (tên thẻ), của cha mẹ của nó.. n can be a number, a keyword (odd or even), or a formula (like an + b). Tip: Look at the :nth-of-type() selector to select the element that is the nth child, of the same type (tag name), of its parent.
Làm thế nào để bạn chọn ký tự đầu tiên trong CSS?TÌM KIẾM :: Bộ chọn chữ cái đầu tiên được sử dụng để thêm một kiểu vào chữ cái đầu tiên của bộ chọn được chỉ định.Lưu ý: Các thuộc tính sau có thể được sử dụng với :: Thuộc tính chữ cái đầu tiên: Phông chữ.::first-letter selector is used to add a style to the first letter of the specified selector. Note: The following properties can be used with ::first-letter: font properties.
Làm thế nào để bạn chọn cha mẹ đầu tiên trong CSS?Hiện tại không có cách nào để chọn cha mẹ của một yếu tố trong CSS theo cách hoạt động trên tất cả các trình duyệt.Điều đó nói rằng, Dự thảo làm việc cấp 4 của Bộ chọn bao gồm A: HAVE () PSEUDO-Class sẽ cung cấp khả năng này.Nó sẽ tương tự như triển khai jQuery. in a way that works across all browsers. That said, the Selectors Level 4 Working Draft includes a :has() pseudo-class that will provide this capability. It will be similar to the jQuery implementation. |