×

Chọn phần tử con trực tiếp của phần tử khác - parent > child - trong CSS

Trong lập trình CSS, việc lựa chọn các phần tử con trực tiếp của một phần tử cha là một trong những kỹ thuật quan trọng giúp bạn kiểm soát rõ ràng hơn về cách thức trang web của bạn được hiển thị. Quy tắc parent > child giúp bạn lựa chọn chỉ những phần tử con trực tiếp và không ảnh hưởng đến các phần tử con sâu hơn hay các phần tử khác nằm trong cùng một cấp.

Cú pháp cơ bản

Cú pháp để chọn phần tử con trực tiếp trong CSS rất đơn giản:

parent > child {
    /* Các thuộc tính CSS sẽ áp dụng cho phần tử child */
}

Ví dụ cụ thể

Giả sử bạn có cấu trúc HTML sau:

<div class="container">
    <div class="box">First box</div>
    <div class="box">Second box
        <div class="inner-box">Inner box</div>
    </div>
</div>

Bạn có thể sử dụng quy tắc parent > child để chỉ áp dụng kiểu cho các phần tử với class là .box mà là con trực tiếp của .container:

.container > .box {
    background-color: lightblue;
    padding: 10px;
    margin: 5px;
}

Kết quả

Khi sử dụng quy tắc này, các phần tử con trực tiếp với class là .box sẽ nhận được các thuộc tính CSS mà bạn đã định nghĩa. Trong ví dụ ở trên, background-color, padding, và margin chỉ được áp dụng cho First boxSecond box. Phần tử có class là .inner-box sẽ không bị ảnh hưởng bởi quy tắc CSS này vì nó không phải là con trực tiếp của .container.

Lợi ích của việc sử dụng selector parent > child

  1. Tối ưu hóa: Việc chỉ định rõ ràng phần tử con trực tiếp giúp tăng tính hiệu quả của CSS, giảm thiểu việc áp dụng sai các quy tắc do sự đa dạng của cây DOM.

  2. Kiểm soát tốt hơn: Giúp bạn dễ dàng kiểm soát và giới hạn phạm vi áp dụng của các thuộc tính CSS, tránh tác động không mong muốn đến các phần tử con khác.

  3. Duy trì mã: Khi bạn biết rõ vị trí các phần tử trong cấu trúc HTML, bạn dễ dàng duy trì và chỉnh sửa mã hơn.

Trường hợp sử dụng phức tạp hơn

Đôi khi bạn sẽ gặp cấu trúc HTML phức tạp hơn, nhưng vẫn muốn áp dụng quy tắc cho con trực tiếp:

<ul class="menu">
    <li class="item">Home</li>
    <li class="item">About
        <ul class="submenu">
            <li class="item">Team</li>
            <li class="item">History</li>
        </ul>
    </li>
    <li class="item">Services</li>
</ul>

Bạn có thể chỉ định các phần tử con trực tiếp của .menu như sau:

.menu > .item {
    font-weight: bold;
}

Trong ví dụ này, chỉ các phần tử li với class .item là con trực tiếp của ul với class .menu mới có thuộc tính font-weight được thiết lập thành bold.

Kết luận

Việc hiểu và áp dụng đúng quy tắc parent > child trong CSS sẽ giúp bạn tạo ra các trang web có cấu trúc rõ ràng và dễ bảo trì hơn. Quy tắc này không chỉ tăng tính hiệu quả mà còn giúp bạn kiểm soát chi tiết, từ đó cải thiện trải nghiệm người dùng.

Comments