Pseudo-elements

Frontend SELF VI
Mức độ , Bài học
Có sẵn

5.1 Các pseudo-element cơ bản

Pseudo-element trong CSS cho phép dev thêm style và nội dung vào các phần của tài liệu mà không thể chọn bằng selector thông thường. Chúng tạo ra các "phần tử ảo", có thể được styled như thể chúng là một phần của HTML-markup. Đây là công cụ mạnh mẽ để tạo các layout phức tạp và cải thiện giao diện web.

Pseudo-element là gì?

Pseudo-element là các từ khóa được thêm vào selector, giúp bạn style một số phần nhất định của element. Chúng tạo ra các phần tử ảo trở thành một phần của giao diện trực quan, nhưng không thay đổi markup HTML gốc. Pseudo-element thường được dùng để style chữ cái đầu, dòng đầu tiên của văn bản, thêm các yếu tố trang trí và các nhiệm vụ khác.

Các pseudo-element cơ bản

Một số pseudo-element thường được sử dụng bao gồm:

  • ::before: thêm nội dung trước nội dung của element được chọn
  • ::after: thêm nội dung sau nội dung của element được chọn
  • ::first-letter: style chữ cái đầu tiên của element
  • ::first-line: style dòng đầu tiên của element
  • ::selection: style phần văn bản được người dùng chọn

Cách sử dụng pseudo-element

Pseudo-element trong CSS được đánh dấu bởi hai dấu hai chấm (::), mặc dù một số pseudo-element vẫn hỗ trợ cú pháp cũ với một dấu hai chấm (:) để tương thích ngược.

Cú pháp:

    
      selector::pseudo-element {
        property: value;
        property: value;
        property: value;
        ...
      }
    
  

5.2 Ví dụ sử dụng pseudo-element

1. Thêm yếu tố trang trí

Pseudo-element thường được dùng để thêm yếu tố trang trí trước hoặc sau nội dung của element:

CSS
    
      /* Thêm icon trước text của link */

      a::before {
        content: "🔗";
        margin-right: 5px;
      }

      /* Thêm yếu tố trang trí sau đoạn văn */

      p::after {
        content: "❦";
        display: block;
        text-align: right;
        color: red;
      }
    
  

Trong ví dụ này, pseudo-element ::before::after được dùng để thêm icon trước text của link và yếu tố trang trí sau đoạn văn.

2. Style chữ cái đầu và dòng đầu tiên

Pseudo-element có thể được dùng để style chữ cái đầu hoặc dòng đầu tiên của văn bản, thường được sử dụng trong typography:

CSS
    
      /* Style chữ cái đầu của đoạn văn */

      p::first-letter {
        font-size: 2em;
        font-weight: bold;
        color: #3498db;
      }

      /* Style dòng đầu tiên của đoạn văn */

      p::first-line {
        font-weight: bold;
        color: #e74c3c;
      }
    
  

Trong ví dụ này, pseudo-element ::first-letter::first-line được dùng để style chữ cái đầu và dòng đầu tiên của đoạn văn.

3. Highlight text

Pseudo-element ::selection được dùng để style phần văn bản mà người dùng chọn:

CSS
    
      /* Style text được chọn */

      ::selection {
        background-color: #3498db;
        color: white;
      }
    
  

Trong ví dụ này, text được chọn bởi người dùng sẽ có nền xanh và chữ trắng.

5.3 Đặc điểm và hạn chế của pseudo-element

Hạn chế:

  • Chỉ sử dụng được một lần: pseudo-element ::before::after chỉ có thể được sử dụng một lần trên mỗi element
  • Yêu cầu content: pseudo-element ::before::after yêu cầu sử dụng thuộc tính content, kể cả khi nó trống
  • Tương thích trình duyệt: trình duyệt hiện đại hỗ trợ cú pháp hai dấu hai chấm cho pseudo-element, nhưng với các pseudo-element cũ, một dấu hai chấm vẫn hoạt động

Ví dụ sử dụng thuộc tính content

CSS
    
      /* Ví dụ sử dụng pseudo-element trống làm yếu tố trang trí */

      div::before {
        content: "";
        display: block;
        width: 100%;
        height: 10px;
        background-color: #3498db;
      }
    
  

Trong ví dụ này, pseudo-element trống ::before được dùng để thêm một dải trang trí trước nội dung của div.

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION