Thứ tư, 15/01/2020 | 00:00 GMT+7

Cách sử dụng CSS: root Pseudo-Class Selector


Tìm hiểu về CSS :root pseudo-class selector và cách bạn có thể cần sử dụng nó trong các dự án của bạn !

Bộ chọn CSS :root pseudo-class được sử dụng để chọn cha cấp cao nhất của một đặc tả nhất định. Trong đặc tả HTML :root về cơ bản tương đương với bộ chọn html .

Trong đoạn mã CSS bên dưới, kiểu :roothtml sẽ làm điều tương tự:

:root {
  background-color: gray;
}

html {
  background-color: gray;
}

Nếu bạn nhận thấy, tôi đã nói :root về cơ bản tương đương với bộ chọn html . Trên thực tế, bộ chọn :root có nhiều quyền hơn html . Điều này là do nó thực sự được coi là một bộ chọn lớp giả (như :first-child hoặc :hover ).

Là một bộ chọn lớp giả, nó có nhiều quyền hạn hơn / độ đặc hiệu cao hơn các bộ chọn thẻ:

:root {
  background-color: blue;
  color: white;
}

html {
  background-color: red;
  color: white;
}

Mặc dù bộ chọn html ra đời sau, bộ chọn :root vẫn chiến thắng, nhờ tính đặc hiệu cao hơn của nó!

Đặc điểm kỹ thuật chéo

Trong đặc tả HTML, lớp giả :root nhắm đến đến lớp cha cấp cao nhất: html .

Vì CSS cũng được thiết kế cho SVGXML nên bạn có thể sử dụng :root và nó sẽ chỉ tương ứng với một phần tử khác.

Ví dụ: trong SVG, cấp cao nhất chính là thẻ svg .

:root {
  fill: gold;
}

svg {
  fill: gold;
}

Tương tự như HTML, các thẻ :rootsvg chọn cùng một phần tử, tuy nhiên :root selector sẽ có độ đặc hiệu cao hơn.

Sử dụng thực tế

Các ứng dụng thực tế cho :root gì? Như ta đã đề cập trước đó, nó là một sự thay thế an toàn cho bộ chọn html .

Điều này nghĩa là bạn có thể làm bất cứ điều gì bạn thường làm với công cụ chọn html :

:root {
  margin: 0;
  padding: 0;
  color: #0000FF;
  font-family: "Helvetica", "Arial", sans-serif;
  line-height: 1.5;
}

Nếu muốn, bạn có thể cấu trúc lại mã này để sử dụng Thuộc tính tùy chỉnh CSS để tạo các biến ở cấp độ global !

:root {
  margin: 0;
  padding: 0;
  --primary-color: #0000FF;
  --body-fonts: "Helvetica", "Arial", sans-serif;
  --line-height: 1.5;
}

p {
  color: var(--primary-color);
  font-family: var(--body-fonts);
  line-height: var(--line-height);
}

Lợi ích bổ sung của việc sử dụng :root thay vì html là bạn có thể tạo kiểu đồ họa SVG của bạn ! 🤯

:root {
  margin: 0;
  padding: 0;
  --primary-color: #0000FF;
  --body-fonts: "Helvetica", "Arial", sans-serif;
  --line-height: 1.5;
}

svg {
  font-family: var(--body-fonts);
}

svg circle {
  fill: var(--primary-color);
}

Để có tài liệu mở rộng về :root bộ chọn lớp giả :root , hãy truy cập Mạng nhà phát triển Mozilla


Tags:

Các tin liên quan

Khi nào bạn nên sử dụng quy tắc CSS! Important?
2020-01-14
Thủ thuật sử dụng CSS translateZ () và phối cảnh ()
2019-12-13
Cách hiển thị CSS trên server ứng dụng React
2019-12-12
Cách tạo Thư viện ảnh cuộn vô hạn với React và CSS Grid
2019-12-12
Cách tạo node tải xuống với các tương tác nhỏ với CSS, anime.js và segment.js
2019-12-12
Cách giải quyết tắc nghẽn CSS quy mô lớn với ITCSS và BEM
2019-12-12
Đặt, giãn cách và mật độ trong CSS Grid
2019-12-12
Hiểu tính cụ thể trong CSS
2019-09-03
CSS sẽ thay đổi Thuộc tính: Khi nào và Không sử dụng Nó
2019-08-26
Trình xử lý nhấp chuột chỉ dành cho CSS sử dụng: target Pseudo-Class (Không có JavaScript)
2019-08-22