Skip to content

Một cú click – Vô vàn ý tưởng sáng tạo!

FacebookTwitterPinterest
Y2Graphic
  • Trang chủ
  • Graphic Design
  • HTML
  • Illustrator
  • CSS
  • Photography
  • AI
Offcanvas

  • Lost your password ?
Y2Graphic
  • Home » 
  • Lập Trình » 
  • CSS » 
  • Xác định bộ chọn dựa theo quan hệ huyết thống

Xác định bộ chọn dựa theo quan hệ huyết thống

By admin 06/03/2025
Table of Contents

Trong Bài 05 thì tôi đã có hướng dẫn các bạn cách xác định bộ chọn của một phần tử rồi. Tuy nhiên, những cách đó chỉ phù hợp với các trường hợp đơn giản, còn đối với các trường hợp phức tạp hơn thì nó không thể nào xác định được chính xác bộ chọn của phần tử.

Ví dụ:

Trong đoạn mã bên dưới, chúng ta có hai phần tử <h1> tương đối giống nhau, hai phần tử này đều có một số đặc điểm chung như: tên thẻ, class, thuộc tính, giá trị thuộc tính, . . . .

<div class="html">
    <h1 class="content" title="hello">Tài liệu học HTML</h1>
</div>
<div class="css">
    <h1 class="content" title="hello">Tài liệu học CSS</h1>
</div>

– Khi tôi muốn thiết lập nền màu hồng cho phần tử <h1> thứ nhất (Tài liệu học HTML) thì công việc đầu tiên mà tôi cần phải làm đó chính là xác định bộ chọn của nó, tôi áp dụng kiến thức Bài 05 để xác định tất cả các bộ chọn có thể & đã xác định được 31 bộ chọn như bên dưới:

h1 .content [title]
h1.content .content[title] [title=”hello”]
h1.content[title] .content[title=”hello”] [title~=”hello”]
h1.content[title=”hello”] .content[title~=”hello”] [title*=”hello”]
h1.content[title~=”hello”] .content[title*=”hello”] [title^=”hello”]
h1.content[title*=”hello”] .content[title^=”hello”] [title$=”hello”]
h1.content[title^=”hello”] .content[title$=”hello”] [title|=”hello”]
h1.content[title$=”hello”] .content[title|=”hello”]
h1.content[title|=”hello”]
h1[title]
h1[title=”hello”]
h1[title~=”hello”]
h1[title*=”hello”]
h1[title^=”hello”]
h1[title$=”hello”]
h1[title|=”hello”]

– Tuy nhiên, trong số 31 bộ chọn này thì không có bộ chọn nào xác định được chính xác phần tử <h1> thứ nhất, bởi vì chúng lấy luôn cả phần tử <h1> thứ hai, khiến cho phần tử <h1> thứ hai bị thiết lập nền màu hồng (trong khi tôi không mong muốn điều đó)

– Từ đây, khi gặp phải trường hợp có nhiều phần tử giống nhau (giống như ví dụ phía trên), nếu chúng ta muốn xác định bộ chọn của một phần tử nào đó trong số chúng thì chúng ta không thể nào chỉ dựa vào kiến thức của Bài 05 được nữa, mà bây giờ chúng ta cần phải kết hợp thêm một phương pháp mới đó chính là dựa vào quan hệ huyết thống của phần tử.

Các mối quan hệ huyết thống phổ biến

– Trong CSS, khi nói về quan hệ huyết thống giữa các phần tử thì chúng được chia ra làm bốn loại chính:

  • (1) Mối quan hệ giữa: tổ tiên & con cháu
  • (2) Mối quan hệ giữa: cha & con
  • (3) Mối quan hệ giữa: anh & em
  • (4) Mối quan hệ giữa: anh liền kề & em liền kề

– Dưới đây là bảng mô tả sơ lược về bốn mối quan hệ trên:

tổ tiên & con cháu – A được gọi là tổ tiên của B khi A chứa B.
– B được gọi là con cháu của A khi B nằm bên trong A.
cha & con – A được gọi là cha của B khi A trực tiếp chứa B mà không thông qua bất kỳ một phần tử nào khác.
– B được gọi là con của A khi B nằm trực tiếp bên trong A mà không thông qua bất kỳ một phần tử nào khác.
anh & em – A được gọi là anh của B khi A & B có cùng cha (A phải khai báo trước B)
– B được gọi là em của A khi B & A có cùng cha (B phải khai báo sau A)
anh liền kề & em liền kề – A được gọi là anh liền kề của B khi A là anh của B.

(ngoài ra thì A còn phải là người anh nằm gần với B nhất)

– B được gọi là em liền kề của A khi B là em của A.

(ngoài ra thì B còn phải là người em nằm gần với A nhất)

  • Mối quan hệ giữa cha & con cũng được xem là mối quan hệ giữa tổ tiên & con cháu
  • Mối quan hệ giữa anh liền kề & em liền kề cũng được xem là mối quan hệ giữa anh & em

– Để giúp các bạn dễ hình dung hơn về bốn mối quan hệ trên thì tôi có một cái ví dụ minh họa như sau:

Ví dụ:
– Tôi có một đoạn mã như bên dưới.

<html>
<body>
    <h1>Tài liệu học <u>Lập Trình Web</u> từ cơ bản đếng nâng cao</h1>
    <div>
        <h3>Tài liệu học HTML</h3>
        <p>Tài liệu học CSS</p>
    </div>
    <h4>Tài liệu học JavaScript</h4>
</body>
</html>

– Từ đoạn mã trên, tôi xây dựng được một cái cây gia phả như sau.

  • HTML
  • BODY
  • H1
  • DIV
  • H4
  • U
  • H3
  • P

– Dựa vào cây gia phả, tôi lập được một cái bảng mô tả mối quan hệ huyết thống giữa các phần tử:

<html>
  • là cha của: <body>
  • là tổ tiên của: <body>, <h1>, <div>, <h4>, <u>, <h3>, <p>
<body>
  • là con của: <html>
  • là con cháu của: <html>
  • là cha của: <h1>, <div>, <h4>
  • là tổ tiên của của: <h1>, <div>, <h4>, <u>, <h3>, <p>
<h1>
  • là con của: <body>
  • là con cháu của: <body>, <html>
  • là cha của: <u>
  • là tổ tiên của: <u>
  • là anh của: <div>, <h4>
  • là anh liền kề của: <div>
<div>
  • là con của: <body>
  • là con cháu của: <body>, <html>
  • là cha của: <h3>, <p>
  • là tổ tiên của: <h3>, <p>
  • là anh của: <h4>
  • là anh liền kề của: <h4>
  • là em của: <h1>
  • là em liền kề của: <h1>
<h4>
  • là con của: <body>
  • là con cháu của: <body>, <html>
  • là em của: <div>, <h1>
  • là em liền kề của: <div>
<u>
  • là con của: <h1>
  • là con cháu của: <h1>, <body>, <html>
<h3>
  • là con của: <div>
  • là con cháu của: <div>, <body>, <html>
  • là anh của: <p>
  • là anh liền kề của: <p>
<p>
  • là con của: <div>
  • là con cháu của: <div>, <body>, <html>
  • là em của: <h3>
  • là em liền kề của: <h3>

Xác định bộ chọn của phần tử dựa theo quan hệ huyết thống

– Để xác định bộ chọn của một phần tử nào đó dựa vào các mối quan hệ huyết thống của nó thì chúng ta có bốn loại cú pháp như sau:

element1 element2 – Chọn phần tử element2

(với điều kiện phần tử element2 phải là con cháu của phần tử element1)

element1 > element2 – Chọn phần tử element2

(với điều kiện phần tử element2 phải là con của phần tử element1)

element1 ~ element2 – Chọn phần tử element2

(với điều kiện phần tử element2 phải là em của phần tử element1)

element1 + element2 – Chọn phần tử element2

(với điều kiện phần tử element2 phải là em liền kề của phần tử element1)

– Dưới đây là một số ví dụ:

.html h1 – Chọn phần tử <h1>

➩ với điều kiện nó phải là con cháu của phần tử có class là html

div > u.test – Chọn phần tử <u> có class là test

➩ với điều kiện nó phải là con của phần tử <div>

h1.css ~ p – Chọn phần tử <p>

➩ với điều kiện nó phải là em của phần tử <h1> có class là css

h1 + p – Chọn phần tử <p>

➩ với điều kiện nó phải là em liền kề của phần tử <h1>

.html * – Chọn tất cả các phần tử con cháu của phần tử có class là html
.html > * – Chọn tất cả các phần tử con của phần tử có class là html
h1 ~ * – Chọn tất cả các phần tử là em của phần tử <h1>
h1 + * – Chọn phần tử là em liền kề của phần tử <h1>
h1 ~ p > u – Chọn phần tử <u>

➩ với điều kiện nó phải là con của phần tử <p>

➩ và phần tử <p> phải là em của phần tử <h1>

.test01 h1 ~ p – Chọn phần tử <p>

➩ với điều kiện nó phải là em của phần tử <h1>

➩ và phần tử <h1> phải là con cháu của phần tử có class là test01

Share
facebookShare on FacebooktwitterShare on TwitterpinterestShare on Pinterest
linkedinShare on LinkedinvkShare on VkredditShare on ReddittumblrShare on TumblrviadeoShare on ViadeobufferShare on BufferpocketShare on PocketwhatsappShare on WhatsappviberShare on ViberemailShare on EmailskypeShare on SkypediggShare on DiggmyspaceShare on MyspacebloggerShare on Blogger YahooMailShare on Yahoo mailtelegramShare on TelegramMessengerShare on Facebook Messenger gmailShare on GmailamazonShare on AmazonSMSShare on SMS
Post navigation
Previous post

Cách xác định bộ chọn trong các trường hợp đặc biệt

Next post

Các thuộc tính dùng để định dạng cho văn bản

admin

Chia sẻ một chút thông tin về bạn. Những thông tin này có thể được công khai. One morning, when Gregor Samsa woke from troubled dreams, he found himself transformed in his bed into a horrible vermin.

Related Posts

Categories CSS Xác định bộ chọn dựa theo quan hệ huyết thống

Cách tạo đường viền hình ảnh cho một phần tử

Categories CSS Xác định bộ chọn dựa theo quan hệ huyết thống

Cách thiết lập vùng đệm cho một phần tử HTML

Categories CSS Xác định bộ chọn dựa theo quan hệ huyết thống

Thiết lập khoảng cách lề cho một phần tử HTML

Categories CSS Cách tạo đường viền hình ảnh cho một phần tử

Cách tạo đường viền hình ảnh cho một phần tử

06/03/2025

Cách thiết lập vùng đệm cho một phần tử HTML

06/03/2025

Thiết lập khoảng cách lề cho một phần tử HTML

06/03/2025

Cách thiết lập màu nền cho một phần tử HTML

06/03/2025

Cách thiết lập kích thước cho một phần tử HTML

06/03/2025

Fashion

Categories JavaScript

Fashion | ‘Ironic Pink’ And 4 Other Back-To-School Trends

05/08/2021

Go Wild For Western Fashion With These Pioneering Outfits

05/08/2021

A $1495 Flamingo Dress: The Pink Bird Is Dominating Fashion

05/08/2021

Why Bold Socks Are The ‘Gateway Drug’ To Better Men’s Fashion

05/08/2021

Jennifer Lopez Nailed the Metallic Shoe Trend Again on a Date

05/08/2021

Giới Thiệu Y2Graphic

Y2Graphic.com là một website chuyên cung cấp các tài nguyên thiết kế đồ họa chất lượng cao, phục vụ cho cộng đồng designer, lập trình viên front-end, nhiếp ảnh gia và những người yêu thích sáng tạo.

Copyright © 2025 Y2Graphic - Powered by Y2Graphic.com
Offcanvas
  • Trang chủ
  • Graphic Design
  • HTML
  • Illustrator
  • CSS
  • Photography
  • AI