Css nếu cha mẹ có lớp

Lớp giả CSS hàm

:has(  )
0 đại diện cho một phần tử nếu bất kỳ phần tử nào được truyền dưới dạng đối số khớp với ít nhất một phần tử khi được neo vào phần tử này. Lớp giả này trình bày cách chọn phần tử cha hoặc phần tử anh chị em trước đó đối với phần tử tham chiếu bằng cách lấy a làm đối số

/* Selects an h1 heading with a
paragraph element that immediately follows
the h1 and applies the style to h1 */
h1:has(+ p) { margin-bottom: 0; }

Lớp giả

:has(  )
0 đảm nhận tính đặc hiệu của bộ chọn cụ thể nhất trong các đối số của nó giống như cách mà
:has(  )
2 và
:has(  )
3 thực hiện

:has(  )

Tham số danh sách bộ chọn tương đối là. Thông thường trong CSS, khi một bộ chọn trong danh sách bộ chọn không hợp lệ, thì toàn bộ danh sách được coi là không hợp lệ. Khi một bộ chọn trong danh sách bộ chọn

:has(  )
0 không thể phân tích cú pháp, bộ chọn không chính xác hoặc không được hỗ trợ sẽ bị bỏ qua và những bộ chọn khác sẽ được sử dụng

Lưu ý rằng nếu bản thân lớp giả

:has(  )
0 không được hỗ trợ trong trình duyệt, thì toàn bộ khối bộ chọn sẽ không thành công (trừ khi bản thân
:has(  )
0 nằm trong danh sách bộ chọn có thể bỏ qua, chẳng hạn như trong
:has(  )
2 và
:has(  )
8)

Lớp giả

:has(  )
0 không thể được lồng trong một lớp
:has(  )
0 khác. Ngoài ra, các phần tử giả không phải là bộ chọn hợp lệ trong phạm vi
:has(  )
0. Điều này là do nhiều phần tử giả tồn tại một cách có điều kiện dựa trên kiểu dáng của tổ tiên của chúng và việc cho phép truy vấn chúng bởi
:has(  )
0 có thể giới thiệu truy vấn theo chu kỳ. Mặc dù các phần tử
:has(  )
0 và giả không phải là bộ chọn
:has(  )
0 hợp lệ, vì danh sách bộ chọn có thể bỏ qua, chúng sẽ bị bỏ qua. Bộ chọn sẽ không thất bại

Khai báo kiểu

:has(  )
0 trong ví dụ sau điều chỉnh khoảng cách sau tiêu đề
/* Selects an h1 heading with a
paragraph element that immediately follows
the h1 and applies the style to h1 */
h1:has(+ p) { margin-bottom: 0; }
86 nếu ngay sau chúng là tiêu đề
/* Selects an h1 heading with a
paragraph element that immediately follows
the h1 and applies the style to h1 */
h1:has(+ p) { margin-bottom: 0; }
87

HTML

/* Selects an h1 heading with a
paragraph element that immediately follows
the h1 and applies the style to h1 */
h1:has(+ p) { margin-bottom: 0; }
8

CSS

:has(  )
1

:has(  )
2

Kết quả

Ví dụ này hiển thị hai văn bản tương tự đặt cạnh nhau để so sánh – văn bản bên trái có tiêu đề

/* Selects an h1 heading with a
paragraph element that immediately follows
the h1 and applies the style to h1 */
h1:has(+ p) { margin-bottom: 0; }
86 theo sau là một đoạn văn và văn bản bên phải có tiêu đề
/* Selects an h1 heading with a
paragraph element that immediately follows
the h1 and applies the style to h1 */
h1:has(+ p) { margin-bottom: 0; }
86 theo sau là tiêu đề
/* Selects an h1 heading with a
paragraph element that immediately follows
the h1 and applies the style to h1 */
h1:has(+ p) { margin-bottom: 0; }
87 rồi đến một đoạn văn. Trong ví dụ bên phải,
:has(  )
0 giúp chọn phần tử
/* Selects an h1 heading with a
paragraph element that immediately follows
the h1 and applies the style to h1 */
h1:has(+ p) { margin-bottom: 0; }
86 ngay sau phần tử
/* Selects an h1 heading with a
paragraph element that immediately follows
the h1 and applies the style to h1 */
h1:has(+ p) { margin-bottom: 0; }
87 (được biểu thị bằng tổ hợp anh chị em liền kề
:has(  )
14) và quy tắc CSS giảm khoảng cách sau phần tử
/* Selects an h1 heading with a
paragraph element that immediately follows
the h1 and applies the style to h1 */
h1:has(+ p) { margin-bottom: 0; }
86 đó. Nếu không có lớp giả
:has(  )
0, bạn không thể sử dụng bộ chọn CSS để chọn phần tử anh chị em trước thuộc loại khác hoặc phần tử cha

Ví dụ này dựa trên ví dụ trước để chỉ ra cách chọn nhiều phần tử với

:has(  )
0

HTML

:has(  )
3

CSS

:has(  )
4

:has(  )
5

Kết quả

Ở đây, lớp giả

:has(  )
2 đầu tiên được sử dụng để chọn bất kỳ thành phần tiêu đề nào trong danh sách. Lớp giả
:has(  )
2 thứ hai được sử dụng để chuyển danh sách các bộ chọn anh chị em liền kề làm đối số cho
:has(  )
0. Lớp giả
:has(  )
0 giúp chọn bất kỳ phần tử
/* Selects an h1 heading with a
paragraph element that immediately follows
the h1 and applies the style to h1 */
h1:has(+ p) { margin-bottom: 0; }
86,
/* Selects an h1 heading with a
paragraph element that immediately follows
the h1 and applies the style to h1 */
h1:has(+ p) { margin-bottom: 0; }
87 hoặc
:has(  )
24 nào ngay sau đó (được biểu thị bằng
:has(  )
14) một phần tử
/* Selects an h1 heading with a
paragraph element that immediately follows
the h1 and applies the style to h1 */
h1:has(+ p) { margin-bottom: 0; }
87,
:has(  )
24 hoặc
:has(  )
28 và quy tắc CSS giảm khoảng cách sau các phần tử
/* Selects an h1 heading with a
paragraph element that immediately follows
the h1 and applies the style to h1 */
h1:has(+ p) { margin-bottom: 0; }
86,
/* Selects an h1 heading with a
paragraph element that immediately follows
the h1 and applies the style to h1 */
h1:has(+ p) { margin-bottom: 0; }
87 hoặc
:has(  )
24 đó

Bộ chọn này cũng có thể được viết là

:has(  )
0

Bộ chọn quan hệ

:has(  )
0 có thể được sử dụng để kiểm tra xem một trong nhiều tính năng có đúng hay không nếu tất cả các tính năng đều đúng

Bằng cách sử dụng các giá trị được phân tách bằng dấu phẩy bên trong bộ chọn quan hệ

:has(  )
0, bạn đang kiểm tra xem có bất kỳ tham số nào tồn tại không.
:has(  )
34 sẽ tạo kiểu cho
:has(  )
35 nếu hậu duệ
:has(  )
36 HOẶC
:has(  )
37 tồn tại

Bằng cách xâu chuỗi nhiều bộ chọn quan hệ

:has(  )
0 lại với nhau, bạn đang kiểm tra xem liệu tất cả các tham số có tồn tại hay không.
:has(  )
39 sẽ tạo kiểu
:has(  )
35 nếu hậu duệ
:has(  )
36 VÀ
:has(  )
37 tồn tại

Làm cách nào để áp dụng kiểu cho con nếu nó có cha mẹ bằng CSS?

Thật dễ dàng để áp dụng kiểu cho phần tử con, nhưng nếu bạn muốn áp dụng kiểu cho lớp cha đã có phần tử con, bạn có thể sử dụng bộ kết hợp con của bộ chọn CSS ( . Ví dụ: div > p chọn tất cả các phần tử . For example, div > p selects all

elements where the parent is a

element.

Làm cách nào để truy cập CSS của lớp cha?

Hiện tại không có cách nào để chọn phần tử gốc của phần 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, Bản nháp Làm việc Cấp độ 4 của Bộ chọn bao gồm một. has() lớp giả sẽ cung cấp khả năng này. .
vì vậy làm cho trình duyệt nhanh hơn. .
trên thực tế, bộ chọn sẽ làm cho một trình duyệt rất nhanh trông chậm

Làm cách nào để chọn lớp cha từ lớp con trong CSS?

Nhưng nếu chúng ta muốn áp dụng một kiểu cho lớp cha thì với CSS. Đây là cách chúng ta có thể làm điều đó. .
E > F, phần tử F con của phần tử E
Bộ chọn sau đại diện cho phần tử “p” là con của “body”. cơ thể > p
Vì vậy, kiểu Trong lớp cha có thể chỉ bằng cách viết tên một lần như thế này

CSS có bộ chọn gốc không?

Các phiên bản đầu tiên của bộ chọn cấp độ gốc đã được soạn thảo cho CSS3, chỉ được hoãn lại. Cuối cùng, các. has() lớp giả đã được xác định chính thức trong Bộ chọn CSS cấp 4 .