Phần tử bên phải là đối tượng được chọn
E F chọn các F nằm trong E, có thể là con trực tiếp hoặc cháu ở sâu hơn. E > F chỉ chọn F có cha trực tiếp là E. E và F ở đây là kí hiệu thay cho bộ chọn cụ thể, như div và p.
Quan hệ này dựa vào cấu trúc HTML, không dựa vào chữ đang nằm gần nhau hay có xuống dòng trên màn hình. Dấu phẩy có nghĩa khác: div, p chọn div và p theo hai bộ chọn độc lập.
Theo dõi A, B và C
```html
<div>
<p>Đoạn A</p>
<section><p>Đoạn B</p></section>
</div>
<p>Đoạn C</p>
```
Với div p { color: blue; }, A và B cùng được chọn: cả hai đều nằm trong div. C nằm ngoài div nên không khớp.
Thay bằng div > p { color: blue; }, chỉ A được chọn; B có cha trực tiếp là section. Không sửa HTML khi so sánh hai bộ chọn này.
Khi nào hai tập được chọn giống nhau?
Hai bộ chọn E F và E > F chọn cùng tập khi mọi F nằm trong E đều đã là con trực tiếp của một E phù hợp; không có F chỉ khớp quan hệ con cháu ở cấp sâu hơn.
Trong mẫu A–B–C, có A là con trực tiếp vẫn chưa đủ để hai tập giống nhau, vì B tạo khác biệt. Nếu bỏ riêng section cùng đoạn B, cả hai bộ chọn div p và div > p đều chỉ khớp A. Khi so sánh màu hiển thị, cần giữ các quy tắc khác như nhau.
Bài luyện
Trong mẫu A–B–C, div p khớp những đoạn nào?
B cũng là cháu của div.
A cũng nằm trong div.
C nằm ngoài div.
Đúng. A và B đều nằm trong div.
Lời giải
Khoảng trắng cho phép quan hệ con cháu qua nhiều cấp. A là con trực tiếp và B qua section đều khớp; C là con của body ở ngoài div nên không khớp.
Bài luyện
Trong cùng mẫu, div > p khớp đoạn nào?
Đúng. Cha trực tiếp của A là div.
Cha trực tiếp của B là section.
B và C đều không có cha trực tiếp là div.
Dấu > không chọn mọi p.
Lời giải
div > p đòi hỏi p có cha trực tiếp là div. A đáp ứng; B có cha section, C có cha body, nên chỉ A khớp.
Bài luyện
Nhận xét nào đủ để E F và E > F chọn cùng tập phần tử?
Vẫn có thể có F ở cấp sâu hơn tạo khác biệt.
Đúng. Mọi con trực tiếp vốn đã là con cháu.
Khoảng cách trên màn hình không quyết định quan hệ.
Hai dấu quan hệ có điều kiện khác nhau.
Lời giải
Tập khớp E > F luôn nằm trong tập khớp E F. Nếu mọi F khớp E F cũng là con trực tiếp của E phù hợp, không còn phần tử chỉ thuộc tập rộng hơn; khi đó hai tập bằng nhau.
Bài luyện
Thay div > p bằng div, p có giữ nguyên ý nghĩa không?
Dấu phẩy không đặt quan hệ cha–con.
Xuống dòng không biến dấu phẩy thành >.
Đúng. Nó chọn div và p theo hai điều kiện riêng.
Không có section trong hai bộ chọn ấy.
Lời giải
div > p đặt điều kiện p là con trực tiếp của div. div, p là danh sách hai bộ chọn, chọn các div và các p; vì thế không giữ cùng ý nghĩa.
Đang học