Cách sử dụng lớp giả CSS :first-child

Cách sử dụng lớp giả CSS :first-child
Cách sử dụng lớp giả CSS :first-child

Chức năng của lớp giả CSS :first-child

Lớp giả CSS :first-child dùng để định dạng class đầu tiên trong các class giống nhau của phần tử cha hoặc định dạng phần tử con đầu tiên trong các phần tử con giống nhau trong phần tử cha

Cách sử dụng lớp giả CSS :first-child

ul li:first-child{
 background:blue;
}
<!DOCTYPE html>
<html>
<head>
<title>Chạy thử Cách sử dụng lớp giả CSS :first-child</title>
<style>
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
ul{width:100%;float:left;heigt:auto;margin:0px;padding:0px}
ul li{margin:0px;padding:0px;list-style:none;padding:7px 5px; width:100%; background:red; float:left;height:auto;background:red;color:#000;border-top:1px solid green; color:#fff}

ul li:first-child{background:blue;}
</style>
</head>
<body>

<h1>Chạy thử Cách sử dụng lớp giả CSS :first-child</h1>

<p>Dùng để định dạng class đầu tiên trong các class giống nhau của phần tử cha hoặc định dạng phần tử con đầu tiên trong các phần tử con giống nhau trong phần tử cha.</p>

<ul>
<li>CSS :first-child</li>
<li>CSS :first-child</li>
<li>CSS :first-child</li>
<li>CSS :first-child</li>
<li>CSS :first-child</li>
<li>CSS :first-child</li>
</ul>

</body>
</html>

Chạy Thử

Những lỗi thường gặp khi sử dụng CSS :first-child

:first-child hoạt động dựa trên vị trí của phần tử trong phần tử cha, vì vậy chỉ cần hiểu sai cấu trúc HTML là kết quả hiển thị có thể khác hoàn toàn mong muốn. Dưới đây là những lỗi phổ biến cần kiểm tra khi sử dụng.

Chọn nhầm phần tử với :first-child

Lỗi thường gặp là nghĩ rằng :first-child sẽ chọn phần tử đầu tiên thuộc một loại thẻ nào đó. Thực tế, pseudo-class này chỉ áp dụng khi phần tử đang xét thực sự là phần tử con đầu tiên của phần tử cha.

Ví dụ, nếu một phần tử khác đứng trước thẻ p, quy tắc dưới đây sẽ không áp dụng cho thẻ p đầu tiên:

<div>
    <h3>Tiêu đề</h3>
    <p>Đoạn văn đầu tiên</p>
    <p>Đoạn văn thứ hai</p>
</div>

Với cấu trúc này, p:first-child không chọn được đoạn văn nào vì thẻ p không phải phần tử con đầu tiên của div. Muốn chọn thẻ p đầu tiên bất kể phía trước có phần tử khác hay không, trường hợp này nên cân nhắc :first-of-type.

Nhầm :first-child với :first-of-type

Hai pseudo-class này dễ bị nhầm vì đều có thể được dùng để xử lý phần tử đầu tiên. Điểm khác biệt nằm ở phạm vi xét vị trí.

  • :first-child kiểm tra phần tử có phải con đầu tiên của phần tử cha hay không.
  • :first-of-type tìm phần tử đầu tiên cùng loại thẻ trong các phần tử con cùng cấp.

Chẳng hạn, với cấu trúc có thẻ h3 đứng trước thẻ p, p:first-child sẽ không khớp, trong khi p:first-of-type vẫn có thể chọn thẻ p đầu tiên.

Vì vậy, khi mục tiêu là xử lý phần tử đầu tiên theo loại thẻ, không nên thay thế tùy ý bằng :first-child. Xác định đúng điều kiện cần chọn sẽ giúp CSS ngắn gọn và tránh phải sửa lại HTML.

Dùng :first-child khi phần tử không nằm ở vị trí đầu tiên

Một lỗi khác xảy ra khi HTML được thay đổi sau khi CSS đã hoàn thiện. Chỉ cần thêm một phần tử mới vào trước phần tử đang được định dạng, điều kiện :first-child có thể không còn đúng.

Ví dụ, ban đầu cấu trúc có thể chỉ gồm các đoạn văn:

<div>
    <p>Đoạn văn đầu tiên</p>
    <p>Đoạn văn thứ hai</p>
</div>

Khi đó, p:first-child có thể áp dụng cho đoạn văn đầu tiên. Nhưng nếu thêm một tiêu đề phía trước:

<div>
    <h3>Thông tin</h3>
    <p>Đoạn văn đầu tiên</p>
    <p>Đoạn văn thứ hai</p>
</div>

thì thẻ p không còn là phần tử con đầu tiên nữa. CSS cũ vì thế có thể không còn tạo ra giao diện như dự kiến.

Do đó, trước khi sử dụng :first-child, nên kiểm tra cả cấu trúc HTML lẫn mục tiêu cần chọn. Nếu yêu cầu phụ thuộc vào vị trí tuyệt đối của phần tử thì :first-child phù hợp; nếu chỉ cần tìm phần tử đầu tiên của một loại thẻ, :first-of-type thường là lựa chọn chính xác hơn.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Cách sử dụng lớp giả CSS :first-child.

  • 0 Bình luận
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Chia sẻ nội dung đánh giá của bạn về Cách sử dụng lớp giả CSS :first-child
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Đăng ký tư vấn thiết kế website
Tìm hiểu 1 năm không bằng lắng nghe 1 câu tư vấn