Ví dụ:
div > p.some_class {
/* Some declarations */
}
Chính xác thì >
dấu hiệu đó có ý nghĩa gì?
Ví dụ:
div > p.some_class {
/* Some declarations */
}
Chính xác thì >
dấu hiệu đó có ý nghĩa gì?
Câu trả lời:
>
là tổ hợp con , đôi khi được gọi nhầm là tổ hợp con cháu trực tiếp. 1
Điều đó có nghĩa là bộ chọn div > p.some_class
chỉ chọn các đoạn .some_class
được lồng trực tiếp bên trong a div
chứ không chọn bất kỳ đoạn nào được lồng thêm bên trong.
Sự minh họa:
<div>
<p class="some_class">Some text here</p> <!-- Selected [1] -->
<blockquote>
<p class="some_class">More text here</p> <!-- Not selected [2] -->
</blockquote>
</div>
Cái gì được chọn và cái gì không:
Đã chọn
Điều này p.some_class
được đặt trực tiếp bên trong div
, do đó mối quan hệ cha-con được thiết lập giữa cả hai yếu tố.
Không được chọn
Điều này p.some_class
được chứa bởi một blockquote
bên trong div
, chứ không phải là div
chính nó. Mặc dù đây p.some_class
là hậu duệ của div
nó, nó không phải là một đứa trẻ; đó là một đứa cháu
Do đó, trong khi div > p.some_class
sẽ không phù hợp với yếu tố này, div p.some_class
sẽ, bằng cách sử dụng tổ hợp con cháu thay thế.
1 Nhiều người đi xa hơn để gọi nó là "con trực tiếp" hoặc "con ngay lập tức", nhưng điều đó hoàn toàn không cần thiết (và cực kỳ khó chịu với tôi), bởi vì dù sao thì một yếu tố con là định nghĩa chính xác , vì vậy chúng có nghĩa chính xác là điều tương tự. Không có thứ gọi là "đứa trẻ gián tiếp".
>
(lớn hơn dấu) là Bộ kết hợp CSS.
Một tổ hợp là một cái gì đó giải thích mối quan hệ giữa các bộ chọn.
Một bộ chọn CSS có thể chứa nhiều hơn một bộ chọn đơn giản. Giữa các bộ chọn đơn giản, chúng ta có thể bao gồm một tổ hợp.
Có bốn tổ hợp khác nhau trong CSS3:
Lưu ý: <
không hợp lệ trong bộ chọn CSS.
Ví dụ:
<!DOCTYPE html>
<html>
<head>
<style>
div > p {
background-color: yellow;
}
</style>
</head>
<body>
<div>
<p>Paragraph 1 in the div.</p>
<p>Paragraph 2 in the div.</p>
<span><p>Paragraph 3 in the div.</p></span> <!-- not Child but Descendant -->
</div>
<p>Paragraph 4. Not in a div.</p>
<p>Paragraph 5. Not in a div.</p>
</body>
</html>
Đầu ra:
.entry-content > * {"code" }
được theo sau .entry-content {"other code" }
? Không .entry-content > *
bao gồm tất cả các trẻ em của entry-content
?
Như những người khác đề cập, đó là một bộ chọn con. Đây là liên kết thích hợp.
<div>
<p class="some_class">lohrem text (it will be of red color )</p>
<div>
<p class="some_class">lohrem text (it will NOT be of red color)</p>
</div>
<p class="some_class">lohrem text (it will be of red color )</p>
</div>
css
div > p.some_class{
color:red;
}
Tất cả những đứa trẻ trực tiếp đi <p>
cùng .some_class
sẽ có được phong cách áp dụng cho chúng.
(bộ chọn con) đã được giới thiệu trong css2. div p {} chọn tất cả các phần tử p của các phần tử div, trong khi div> p chỉ chọn các phần tử p con, không phải grand grand, grand grand, v.v.
<style>
div p{ color:red } /* match both p*/
div > p{ color:blue } /* match only first p*/
</style>
<div>
<p>para tag, child and decedent of p.</p>
<ul>
<li>
<p>para inside list. </p>
</li>
</ul>
</div>
Để biết thêm thông tin về CSS Ce [người chọn và cách sử dụng chúng, hãy kiểm tra blog của tôi, bộ chọn css và bộ chọn css3
#something a
sẽ là một bộ chọn con.