Css ký quỹ âm w3schools

CSS (Cascading Style Sheets) là ngôn ngữ để mô tả việc hiển thị các tài liệu HTML và XML trên màn hình, trên giấy, trong lời nói, v.v. Để liên kết các thuộc tính kiểu với các phần tử trong tài liệu, CSS sử dụng các bộ chọn, là các mẫu khớp với một hoặc nhiều phần tử. Tài liệu này mô tả các bộ chọn được đề xuất cho CSS cấp độ 3. Nó bao gồm và mở rộng các bộ chọn của CSS cấp 2

Tình trạng của tài liệu này

Tài liệu này là một trong những "mô-đun" của đặc tả CSS3 sắp tới. Nó không chỉ mô tả các bộ chọn đã tồn tại trong và mà còn đề xuất các bộ chọn mới cho CSS3 cũng như cho các ngôn ngữ khác có thể cần chúng. Nhóm làm việc CSS không mong đợi rằng tất cả các triển khai CSS3 sẽ phải triển khai tất cả các bộ chọn. Thay vào đó, có thể sẽ có một số ít biến thể của CSS3, được gọi là "hồ sơ". Ví dụ: có thể chỉ một hồ sơ dành cho tác nhân người dùng không tương tác sẽ bao gồm tất cả các bộ chọn được đề xuất

Thông số kỹ thuật này đang được Nhóm làm việc CSS đưa ra. Tài liệu này là bản sửa đổi của Bản thảo làm việc ngày 26 tháng 1 năm 2001 và đã kết hợp các đề xuất nhận được trong quá trình xem xét cuộc gọi cuối cùng, nhận xét và thảo luận thêm của Nhóm làm việc W3C CSS

Thời hạn của Đề xuất Ứng viên dự kiến ​​sẽ kéo dài khoảng sáu tháng (kết thúc vào tháng 5 năm 2002). Tất cả mọi người được khuyến khích xem xét và thực hiện thông số kỹ thuật này và gửi lại nhận xét cho danh sách gửi thư công khai (được lưu trữ) (xem hướng dẫn). Thành viên W3C cũng có thể gửi nhận xét trực tiếp đến Nhóm làm việc CSS

Nếu thông số kỹ thuật này chứng minh là không thể thực hiện được, Nhóm làm việc sẽ đưa tài liệu trở lại trạng thái Bản thảo làm việc và thực hiện các thay đổi cần thiết. Mặt khác, Nhóm công tác dự kiến ​​sẽ yêu cầu Giám đốc W3C chuyển tài liệu này thành Khuyến nghị được đề xuất

Đây vẫn là một tài liệu nháp và có thể được cập nhật, thay thế hoặc lỗi thời bởi các tài liệu khác bất cứ lúc nào. Không phù hợp khi trích dẫn Khuyến nghị của Ứng viên W3C ngoài "công việc đang tiến hành. " Có thể tìm thấy danh sách các bản nháp đang hoạt động của W3C tại http. //www. w3. tổ chức/TR

Tài liệu này có thể có sẵn trong bản dịch. Phiên bản tiếng Anh của thông số kỹ thuật này là phiên bản quy chuẩn duy nhất

Phụ thuộc với các Mô-đun CSS3 khác

  • Cú pháp chung
  • Gán giá trị, xếp tầng và kế thừa
  • Nội dung được tạo / Điểm đánh dấu
  • Giao diện người dùng

Các thành viên của Nhóm làm việc CSS+FP đã đề xuất trong cuộc họp Clamart để mô đun hóa đặc tả CSS

Việc mô đun hóa này và việc xuất hiện cú pháp chung của CSS sẽ làm giảm kích thước của đặc tả và cho phép các đặc tả mới sử dụng bộ chọn và/hoặc cú pháp chung của CSS. Ví dụ, các hành vi hoặc chuyển đổi cây

Thông số kỹ thuật này chứa riêng một bài kiểm tra cho mỗi khái niệm được giới thiệu trong tài liệu này. Các thử nghiệm này không phải là thử nghiệm tuân thủ đầy đủ nhưng nhằm mục đích cung cấp cho người dùng cách kiểm tra xem một phần của thông số kỹ thuật này có được triển khai theo mức tối thiểu của quảng cáo hay hoàn toàn không được triển khai

1. 1 Thay đổi từ CSS2

Sự khác biệt chính giữa bộ chọn trong CSS2 và bộ chọn trong Bộ chọn là

  • danh sách các định nghĩa cơ bản (bộ chọn, nhóm bộ chọn, bộ chọn đơn giản, v.v. ) đã được làm rõ
  • một thành phần không gian tên tùy chọn hiện được cho phép trong bộ chọn phần tử loại, bộ chọn phổ quát và bộ chọn thuộc tính
  • một bộ kết hợp mới
  • bộ chọn đơn giản mới bao gồm bộ chọn thuộc tính phù hợp với chuỗi con và lớp giả mới
  • các phần tử giả mới và giới thiệu ". " quy ước cho các phần tử giả
  • viết lại ngữ pháp bộ chọn
  • các cấu hình được thêm vào thông số kỹ thuật tích hợp Bộ chọn và xác định bộ bộ chọn thực sự được hỗ trợ bởi từng thông số kỹ thuật
  • Bộ chọn hiện là Mô-đun CSS3 và thông số kỹ thuật độc lập. Các thông số kỹ thuật khác hiện có thể tham khảo tài liệu này độc lập với CSS
  • thông số kỹ thuật hiện chứa bộ thử nghiệm của riêng nó

2. Bộ chọn

Một Selector đại diện cho một cấu trúc. Cấu trúc này có thể được sử dụng như một điều kiện (e. g. trong quy tắc CSS) xác định phần tử nào mà bộ chọn khớp với cây tài liệu hoặc dưới dạng mô tả phẳng của đoạn HTML hoặc XML tương ứng với cấu trúc đó

Bộ chọn có thể bao gồm từ các tên phần tử đơn giản đến các biểu diễn theo ngữ cảnh phong phú

Bảng sau đây tóm tắt cú pháp Selector

Ý nghĩa của mỗi bộ chọn được lấy từ bảng trên bằng cách thêm "khớp" vào trước nội dung của từng ô trong cột "Ý nghĩa"

Phân biệt chữ hoa chữ thường của tên thành phần ngôn ngữ tài liệu trong bộ chọn phụ thuộc vào ngôn ngữ tài liệu. Ví dụ: trong HTML, tên phần tử không phân biệt chữ hoa chữ thường nhưng trong XML chúng phân biệt chữ hoa chữ thường

Phân biệt chữ hoa chữ thường của tên thuộc tính và giá trị thuộc tính trong bộ chọn thuộc tính cũng phụ thuộc vào ngôn ngữ tài liệu

Bộ chọn là một chuỗi gồm một hoặc nhiều bộ chọn được phân tách bằng

Một chuỗi các bộ chọn đơn giản là một chuỗi không được phân tách bằng dấu. Nó luôn bắt đầu bằng một hoặc một. Không cho phép bộ chọn loại hoặc bộ chọn phổ quát nào khác trong chuỗi

A  là một , , , , , hoặc. Một cái có thể được thêm vào chuỗi cuối cùng của bộ chọn đơn giản

Bộ kết hợp là. khoảng trắng, "dấu lớn hơn" (

link[hreflang=fr]
2), "dấu cộng" (
link[hreflang=fr]
3) và "dấu ngã" (
link[hreflang=fr]
4). Khoảng trắng có thể xuất hiện giữa bộ kết hợp và bộ chọn đơn giản xung quanh nó. Chỉ các ký tự "dấu cách" (mã Unicode 32), "tab" (9), "nạp dòng" (10), "dấu xuống dòng" (13) và "nạp biểu mẫu" (12) mới có thể xuất hiện trong khoảng trắng. Các ký tự giống như khoảng trắng khác, chẳng hạn như "em-space" (8195) và "dấu cách chữ tượng hình" (12288), không bao giờ là một phần của khoảng trắng

Các thành phần của cây tài liệu được đại diện bởi bộ chọn được gọi là chủ thể của bộ chọn. Một bộ chọn bao gồm một chuỗi các bộ chọn đơn giản đại diện cho bất kỳ phần tử nào đáp ứng các yêu cầu của nó. Việc thêm trước một chuỗi bộ chọn đơn giản khác và bộ kết hợp vào chuỗi sẽ áp đặt các ràng buộc đối sánh bổ sung, do đó, đối tượng của bộ chọn luôn là một tập hợp con của các phần tử được biểu thị bằng chuỗi bộ chọn đơn giản ngoài cùng bên phải

Ghi chú. một bộ chọn trống, không chứa chuỗi các bộ chọn đơn giản và không có bộ kết hợp, là một

Khi một số bộ chọn chia sẻ cùng một khai báo, chúng có thể được nhóm thành một danh sách được phân tách bằng dấu phẩy

(Các) ví dụ CSS

Trong ví dụ này, chúng tôi cô đọng ba quy tắc với các khai báo giống hệt nhau thành một. Như vậy,

h1 { font-family: sans-serif }
h2 { font-family: sans-serif }
h3 { font-family: sans-serif }
tương đương với.
h1, h2, h3 { font-family: sans-serif }

Cảnh báo. sự tương đương là đúng trong ví dụ này vì tất cả các bộ chọn đều là bộ chọn hợp lệ. Nếu chỉ một trong các bộ chọn này không hợp lệ, thì toàn bộ nhóm bộ chọn không hợp lệ, do đó làm mất hiệu lực quy tắc cho cả ba thành phần tiêu đề, trong khi chỉ một trong ba quy tắc tiêu đề riêng lẻ sẽ không hợp lệ

Bộ chọn loại là tên của loại thành phần ngôn ngữ tài liệu. Bộ chọn loại đại diện cho một thể hiện của loại phần tử trong cây tài liệu

Thí dụ

Bộ chọn sau đại diện cho một phần tử

link[hreflang=fr]
5 trong cây tài liệu

h1

6. 1. 1 Bộ chọn loại và Không gian tên

Bộ chọn loại cho phép một thành phần không gian tên () tùy chọn. Tiền tố không gian tên đã được khai báo trước đó có thể được thêm vào trước tên phần tử được phân tách bằng dấu tách không gian tên "thanh dọc" (

link[hreflang=fr]
6). Thành phần không gian tên có thể để trống để chỉ ra rằng bộ chọn chỉ đại diện cho các phần tử không có không gian tên được khai báo. Ngoài ra, dấu hoa thị có thể được sử dụng cho tiền tố không gian tên, cho biết rằng bộ chọn đại diện cho các phần tử trong bất kỳ không gian tên nào (bao gồm cả các phần tử không có không gian tên). Bộ chọn loại phần tử không có thành phần không gian tên (không có dấu tách không gian tên), đại diện cho các phần tử mà không quan tâm đến không gian tên của phần tử (tương đương với "
link[hreflang=fr]
7") trừ khi một không gian tên mặc định đã được khai báo. Trong trường hợp đó, bộ chọn sẽ chỉ đại diện cho các phần tử trong không gian tên mặc định

Ghi chú. bộ chọn loại chứa tiền tố không gian tên chưa được khai báo trước đó là bộ chọn. Cơ chế khai báo tiền tố không gian tên tùy thuộc vào ngôn ngữ triển khai Bộ chọn. Trong CSS, cơ chế như vậy được định nghĩa trong mô-đun Cú pháp chung

Cần lưu ý rằng nếu tiền tố không gian tên được sử dụng trong bộ chọn chưa được khai báo trước đó, thì bộ chọn phải được coi là không hợp lệ và toàn bộ quy tắc kiểu sẽ bị bỏ qua theo

Cần lưu ý thêm rằng trong một máy khách nhận biết không gian tên, các bộ chọn loại phần tử sẽ chỉ khớp với bộ chọn của phần tử. Xem các ghi chú về các hành vi phù hợp ở khách hàng cấp dưới

Tóm tắt

link[hreflang=fr]
8phần tử có tên E trong không gian tên ns
link[hreflang=fr]
9phần tử có tên E trong bất kỳ không gian tên nào, kể cả những phần tử không có bất kỳ không gian tên nào được khai báo
link[hreflang=fr]
10phần tử có tên E nhưng không có bất kỳ không gian tên nào được khai báo
link[hreflang=fr]
11nếu không có không gian tên mặc định nào được chỉ định, điều này tương đương với *. E. Mặt khác, nó tương đương với ns. E trong đó ns là không gian tên mặc định

ví dụ CSS

link[hreflang=fr]
3

Quy tắc đầu tiên sẽ chỉ khớp với các phần tử

link[hreflang=fr]
5 trong tệp "http. //www. thí dụ. không gian tên com"

Quy tắc thứ hai sẽ phù hợp với tất cả các yếu tố trong "http. //www. thí dụ. không gian tên com"

Quy tắc thứ ba sẽ chỉ khớp với các phần tử

link[hreflang=fr]
5 mà không có bất kỳ không gian tên nào được khai báo

Quy tắc thứ tư sẽ khớp với các phần tử

link[hreflang=fr]
5 trong bất kỳ không gian tên nào (kể cả những phần tử không có bất kỳ không gian tên nào được khai báo)

Quy tắc cuối cùng tương đương với quy tắc thứ tư vì không có vùng tên mặc định nào được xác định

Bộ chọn chung, được viết là "dấu hoa thị" (

link[hreflang=fr]
15), đại diện cho tên đủ điều kiện của bất kỳ loại phần tử nào. Sau đó, nó đại diện cho bất kỳ phần tử đơn lẻ nào trong cây tài liệu trong bất kỳ không gian tên nào (bao gồm cả những phần tử không có bất kỳ không gian tên được khai báo nào) nếu không có không gian tên mặc định nào được chỉ định. Nếu một không gian tên mặc định đã được chỉ định, xem bên dưới

Nếu bộ chọn phổ quát không phải là thành phần duy nhất của chuỗi các bộ chọn đơn giản, thì có thể bỏ qua

link[hreflang=fr]
15. Ví dụ

  • link[hreflang=fr]
    17 và
    link[hreflang=fr]
    18 là tương đương,
  • link[hreflang=fr]
    19 và
    h1, h2, h3 { font-family: sans-serif }
    00 là tương đương,
  • h1, h2, h3 { font-family: sans-serif }
    01 và
    h1, h2, h3 { font-family: sans-serif }
    02 là tương đương

Ghi chú. không nên bỏ qua

link[hreflang=fr]
15, đại diện cho bộ chọn chung

6. 2. 1 Bộ chọn chung và Không gian tên

Bộ chọn chung cho phép một thành phần không gian tên tùy chọn

h1, h2, h3 { font-family: sans-serif }
04tất cả các phần tử trong không gian tên ns____405tất cả các phần tử
h1, h2, h3 { font-family: sans-serif }
06tất cả các phần tử không có bất kỳ không gian tên nào được khai báo
link[hreflang=fr]
15nếu không có không gian tên mặc định nào được chỉ định, điều này tương đương với *. *. Mặt khác, nó tương đương với ns. * trong đó ns là không gian tên mặc định

Ghi chú. bộ chọn chung chứa tiền tố không gian tên chưa được khai báo trước đó là bộ chọn. Cơ chế khai báo tiền tố không gian tên tùy thuộc vào ngôn ngữ triển khai Bộ chọn. Trong CSS, cơ chế như vậy được định nghĩa trong mô-đun Cú pháp chung

Bộ chọn cho phép biểu diễn các thuộc tính của phần tử

6. 3. 1 Bộ chọn giá trị và hiện diện thuộc tính

CSS2 đã giới thiệu bốn bộ chọn thuộc tính

h1, h2, h3 { font-family: sans-serif }
08Đại diện cho thuộc tính
h1, h2, h3 { font-family: sans-serif }
09, bất kể giá trị của thuộc tính là gì.
h1, h2, h3 { font-family: sans-serif }
10Đại diện cho thuộc tính
h1, h2, h3 { font-family: sans-serif }
09 với giá trị chính xác là "val".
h1, h2, h3 { font-family: sans-serif }
12Đại diện cho thuộc tính
h1, h2, h3 { font-family: sans-serif }
09 có giá trị là danh sách các từ được phân tách bằng dấu cách, một trong số đó chính xác là "val". Nếu bộ chọn này được sử dụng, các từ trong giá trị không được chứa dấu cách (vì chúng được phân tách bằng dấu cách).
h1, h2, h3 { font-family: sans-serif }
14Đại diện cho thuộc tính
h1, h2, h3 { font-family: sans-serif }
09, giá trị của nó chính xác là "val" hoặc bắt đầu bằng "val" ngay sau dấu "-". Điều này chủ yếu nhằm mục đích cho phép khớp mã con ngôn ngữ (e. g. , thuộc tính
h1, h2, h3 { font-family: sans-serif }
16 trên phần tử
h1, h2, h3 { font-family: sans-serif }
17 trong HTML) như được mô tả trong RFC 3066 (). Ghi chú. để khớp mã con ngôn ngữ
h1, h2, h3 { font-family: sans-serif }
18 (hoặc
h1, h2, h3 { font-family: sans-serif }
19), vui lòng xem

Giá trị thuộc tính phải là định danh hoặc chuỗi. Phân biệt chữ hoa chữ thường của tên và giá trị thuộc tính trong bộ chọn tùy thuộc vào ngôn ngữ tài liệu

ví dụ

Ví dụ: bộ chọn thuộc tính sau đại diện cho một phần tử

link[hreflang=fr]
5 mang thuộc tính
h1, h2, h3 { font-family: sans-serif }
22, bất kể giá trị của nó là gì

h1, h2, h3 { font-family: sans-serif }
4

Trong ví dụ sau, bộ chọn đại diện cho một phần tử

h1, h2, h3 { font-family: sans-serif }
23 có thuộc tính
h1, h2, h3 { font-family: sans-serif }
24 có chính xác giá trị "ví dụ"

h1, h2, h3 { font-family: sans-serif }
7Có thể sử dụng nhiều bộ chọn thuộc tính để biểu thị một số thuộc tính của một phần tử hoặc một số điều kiện trên cùng một thuộc tính

Ở đây, bộ chọn đại diện cho phần tử

h1, h2, h3 { font-family: sans-serif }
23 có thuộc tính
h1, h2, h3 { font-family: sans-serif }
26 có giá trị chính xác là "Cleveland" và thuộc tính
h1, h2, h3 { font-family: sans-serif }
27 có giá trị chính xác là "Columbus"

link[hreflang=fr]
1

Các bộ chọn sau đây minh họa sự khác biệt giữa "=" và "~=". Ví dụ, bộ chọn đầu tiên sẽ đại diện cho giá trị "copyright copyleft copyeditor" trên thuộc tính

h1, h2, h3 { font-family: sans-serif }
28. Bộ chọn thứ hai sẽ chỉ đại diện cho phần tử
h1, h2, h3 { font-family: sans-serif }
29 với thuộc tính
h1, h2, h3 { font-family: sans-serif }
30 có giá trị chính xác "http. //www. w3. tổ chức/"

link[hreflang=fr]
5

Bộ chọn sau đại diện cho một phần tử

h1, h2, h3 { font-family: sans-serif }
17 có thuộc tính
h1, h2, h3 { font-family: sans-serif }
16 chính xác là "fr"

link[hreflang=fr]

Bộ chọn sau đại diện cho phần tử

h1, h2, h3 { font-family: sans-serif }
17 mà các giá trị của thuộc tính
h1, h2, h3 { font-family: sans-serif }
16 bắt đầu bằng "en", bao gồm "en", "en-US" và "en-cockney"

link[hreflang=fr]
1

Tương tự, các bộ chọn sau đại diện cho một phần tử

h1, h2, h3 { font-family: sans-serif }
35 bất cứ khi nào nó có một trong hai giá trị khác nhau cho một thuộc tính
h1, h2, h3 { font-family: sans-serif }
36

h1, h2, h3 { font-family: sans-serif }
0

6. 3. 2 bộ chọn thuộc tính phù hợp với chuỗi con

Ba bộ chọn thuộc tính bổ sung được cung cấp để khớp các chuỗi con trong giá trị của một thuộc tính

h1, h2, h3 { font-family: sans-serif }
37Đại diện cho thuộc tính
h1, h2, h3 { font-family: sans-serif }
09 có giá trị bắt đầu bằng tiền tố "val"
h1, h2, h3 { font-family: sans-serif }
39Đại diện cho thuộc tính
h1, h2, h3 { font-family: sans-serif }
09 có giá trị kết thúc bằng hậu tố "val"
h1, h2, h3 { font-family: sans-serif }
41Đại diện cho thuộc tính
h1, h2, h3 { font-family: sans-serif }
09 có giá trị chứa ít nhất một phiên bản của chuỗi con "val"

Giá trị thuộc tính phải là định danh hoặc chuỗi. Phân biệt chữ hoa chữ thường của tên thuộc tính trong bộ chọn tùy thuộc vào ngôn ngữ tài liệu

Thí dụ

Bộ chọn sau đại diện cho một HTML

h1, h2, h3 { font-family: sans-serif }
43, tham chiếu một hình ảnh

h1, h2, h3 { font-family: sans-serif }
1

Bộ chọn sau đại diện cho một liên kết HTML

h1, h2, h3 { font-family: sans-serif }
29 với thuộc tính
h1, h2, h3 { font-family: sans-serif }
30 có giá trị kết thúc bằng ". html"

h1, h2, h3 { font-family: sans-serif }
2

Bộ chọn sau đại diện cho một đoạn HTML có thuộc tính

h1, h2, h3 { font-family: sans-serif }
22 có giá trị chứa chuỗi con "xin chào"

h1, h2, h3 { font-family: sans-serif }
3

6. 3. 3 Bộ chọn thuộc tính và Không gian tên

Bộ chọn thuộc tính cho phép một thành phần không gian tên tùy chọn cho tên thuộc tính. Tiền tố không gian tên đã được khai báo trước đó có thể được thêm vào trước tên thuộc tính được phân tách bằng dấu tách không gian tên "thanh dọc" (

link[hreflang=fr]
6). Để phù hợp với Không gian tên trong đề xuất XML, các không gian tên mặc định không áp dụng cho các thuộc tính, do đó, bộ chọn thuộc tính không có thành phần không gian tên chỉ áp dụng cho các thuộc tính không có không gian tên được khai báo (tương đương với "
h1, h2, h3 { font-family: sans-serif }
48"). Dấu hoa thị có thể được sử dụng cho tiền tố không gian tên cho biết rằng bộ chọn sẽ khớp với tất cả các tên thuộc tính mà không cần quan tâm đến không gian tên của thuộc tính

Ghi chú. bộ chọn thuộc tính có tên thuộc tính chứa tiền tố không gian tên chưa được khai báo trước đó là bộ chọn. Cơ chế khai báo tiền tố không gian tên tùy thuộc vào ngôn ngữ triển khai Bộ chọn. Trong CSS, cơ chế như vậy được định nghĩa trong mô-đun Cú pháp chung

ví dụ CSS

h1, h2, h3 { font-family: sans-serif }
4Quy tắc đầu tiên sẽ chỉ khớp với các phần tử có thuộc tính
h1, h2, h3 { font-family: sans-serif }
09 trong tệp "http. //www. thí dụ. com" với giá trị "val"

Quy tắc thứ hai sẽ chỉ khớp với các phần tử có thuộc tính

h1, h2, h3 { font-family: sans-serif }
09 bất kể không gian tên của thuộc tính (bao gồm cả không gian tên được khai báo)

Hai quy tắc cuối cùng là tương đương và sẽ chỉ khớp với các phần tử có thuộc tính

h1, h2, h3 { font-family: sans-serif }
09 trong đó thuộc tính không được khai báo trong một không gian tên

6. 3. 4 Giá trị thuộc tính mặc định trong DTD

Bộ chọn thuộc tính biểu thị các giá trị thuộc tính được đặt rõ ràng trong cây tài liệu. Các giá trị thuộc tính mặc định có thể được xác định trong DTD hoặc ở nơi khác. Bộ chọn phải được thiết kế để chúng hoạt động ngay cả khi các giá trị mặc định không được bao gồm trong cây tài liệu

ví dụ

Ví dụ: hãy xem xét một phần tử

h1, h2, h3 { font-family: sans-serif }
52 với thuộc tính
h1, h2, h3 { font-family: sans-serif }
53 có giá trị mặc định là "thập phân". Đoạn DTD có thể là

Nếu bộ chọn đại diện cho phần tử
h1, h2, h3 { font-family: sans-serif }
52 khi giá trị của thuộc tính được đặt rõ ràng.
h1, h2, h3 { font-family: sans-serif }
5sau đó để chỉ đại diện cho trường hợp thuộc tính này được đặt theo mặc định và không rõ ràng, bộ chọn sau có thể được sử dụng.
h1, h2, h3 { font-family: sans-serif }
6

Khi làm việc với HTML, tác giả có thể sử dụng ký hiệu dấu chấm (

h1, h2, h3 { font-family: sans-serif }
55) thay thế cho ký hiệu
h1, h2, h3 { font-family: sans-serif }
56 khi đại diện cho thuộc tính
h1, h2, h3 { font-family: sans-serif }
24. Như vậy, đối với HTML,
h1, h2, h3 { font-family: sans-serif }
58 và
h1, h2, h3 { font-family: sans-serif }
59 có cùng ý nghĩa. Giá trị thuộc tính phải ngay sau "dấu chấm" (
h1, h2, h3 { font-family: sans-serif }
55). Ghi chú. UAs có thể áp dụng bộ chọn bằng cách sử dụng khoảng thời gian (. ) trong tài liệu XML nếu UA có kiến ​​thức cụ thể về không gian tên cho phép nó xác định thuộc tính nào là thuộc tính "lớp" cho không gian tên tương ứng. Một ví dụ như vậy về kiến ​​thức cụ thể về không gian tên là văn xuôi trong đặc tả cho một không gian tên cụ thể (e. g. SVG 1. 0 [] mô tả và cách UA diễn giải nó, và tương tự như vậy MathML 1. 01 [] mô tả. )

ví dụ

Ví dụ, chúng ta có thể biểu diễn một phần tử tùy ý bằng

h1, h2, h3 { font-family: sans-serif }
61 như sau

h1, h2, h3 { font-family: sans-serif }
7or just
h1, h2, h3 { font-family: sans-serif }
8The selector sau đại diện cho một phần tử
link[hreflang=fr]
5 với
h1, h2, h3 { font-family: sans-serif }
61.
h1, h2, h3 { font-family: sans-serif }
9

Ví dụ: bộ chọn sau đại diện cho một phần tử

h1, h2, h3 { font-family: sans-serif }
64 có thuộc tính
h1, h2, h3 { font-family: sans-serif }
24 đã được gán một danh sách các giá trị được phân tách bằng dấu cách bao gồm "mục vụ" và "hàng hải"

h1
0

Nó hoàn toàn giống với

h1
1

Bộ chọn này đại diện cho ví dụ một

h1, h2, h3 { font-family: sans-serif }
64 với
h1, h2, h3 { font-family: sans-serif }
67 hoặc
h1, h2, h3 { font-family: sans-serif }
68 nhưng không phải là
h1, h2, h3 { font-family: sans-serif }
69

Ngôn ngữ tài liệu có thể chứa các thuộc tính được khai báo là loại ID. Điều làm cho các thuộc tính của loại ID trở nên đặc biệt là không có hai thuộc tính nào như vậy có thể có cùng giá trị trong một tài liệu, bất kể loại phần tử chứa chúng; . Trong HTML, tất cả các thuộc tính ID được đặt tên là "id";

Thuộc tính đã nhập ID của ngôn ngữ tài liệu cho phép tác giả gán mã định danh cho một thể hiện phần tử trong cây tài liệu. Bộ chọn W3C ID đại diện cho một phiên bản phần tử dựa trên mã định danh của nó. Bộ chọn ID chứa "dấu số" (#) ngay sau giá trị ID

ví dụ

Bộ chọn ID sau đại diện cho một phần tử

link[hreflang=fr]
5 có thuộc tính đã nhập ID có giá trị "chapter1"

h1
2

Bộ chọn ID sau đại diện cho một phần tử có thuộc tính loại ID có giá trị "chapter 1"

h1
3Bộ chọn sau đại diện cho bất kỳ phần tử nào có thuộc tính đã nhập ID có giá trị "z98y".
h1
4

Ghi chú. Trong XML1. 0 , thông tin về thuộc tính nào chứa ID của phần tử được chứa trong DTD hoặc lược đồ. Khi phân tích cú pháp XML, các UA không phải lúc nào cũng đọc DTD và do đó có thể không biết ID của một phần tử là gì (mặc dù UA có thể có kiến ​​thức cụ thể về không gian tên cho phép nó xác định thuộc tính nào là thuộc tính ID cho không gian tên đó). Nếu một nhà thiết kế biểu định kiểu biết hoặc nghi ngờ rằng một UA có thể không biết ID của một phần tử là gì, anh ta nên sử dụng các bộ chọn thuộc tính thông thường để thay thế.

h1, h2, h3 { font-family: sans-serif }
71 thay vì
h1, h2, h3 { font-family: sans-serif }
72. Các phần tử trong XML 1. 0 tài liệu không có DTD hoàn toàn không có ID

Khái niệm lớp giả được giới thiệu để cho phép lựa chọn dựa trên thông tin nằm ngoài cây tài liệu hoặc không thể biểu thị bằng các bộ chọn đơn giản khác

Một lớp giả luôn chứa một "dấu hai chấm" (

h1, h2, h3 { font-family: sans-serif }
73) theo sau là tên của lớp giả và tùy chọn bởi một giá trị giữa các dấu ngoặc đơn

Các lớp giả được cho phép trong tất cả các chuỗi bộ chọn đơn giản có trong bộ chọn. Các lớp giả được phép ở bất kỳ đâu trong chuỗi các bộ chọn đơn giản, sau bộ chọn loại hàng đầu hoặc bộ chọn phổ quát (có thể bỏ qua). Tên lớp giả không phân biệt chữ hoa chữ thường. Một số lớp giả loại trừ lẫn nhau, trong khi những lớp khác có thể được áp dụng đồng thời cho cùng một phần tử. Các lớp giả có thể động, theo nghĩa là một phần tử có thể có hoặc mất một lớp giả trong khi người dùng tương tác với tài liệu

6. 6. 1 Lớp giả động

Các lớp giả động phân loại các phần tử theo các đặc điểm khác với tên, thuộc tính hoặc nội dung của chúng, về nguyên tắc là các đặc điểm không thể suy ra từ cây tài liệu

Lớp giả động không xuất hiện trong nguồn tài liệu hoặc cây tài liệu

Lớp giả liên kết. . liên kết và. đã đến thăm

Tác nhân người dùng thường hiển thị các liên kết chưa được truy cập khác với các liên kết đã truy cập trước đó. Bộ chọn cung cấp các lớp giả

h1, h2, h3 { font-family: sans-serif }
74 và
h1, h2, h3 { font-family: sans-serif }
75 để phân biệt chúng

  • Lớp giả
    h1, h2, h3 { font-family: sans-serif }
    74 áp dụng cho các liên kết chưa được truy cập
  • Lớp giả
    h1, h2, h3 { font-family: sans-serif }
    75 áp dụng sau khi người dùng truy cập liên kết

Ghi chú. Sau một khoảng thời gian, tác nhân người dùng có thể chọn trả lại liên kết đã truy cập tới (chưa được truy cập) '. liên kết nhà nước

Hai trạng thái loại trừ lẫn nhau

Thí dụ

Bộ chọn sau đại diện cho các liên kết mang lớp

h1, h2, h3 { font-family: sans-serif }
78 và đã được truy cập

h1
5

Lớp giả hành động của người dùng. bay lượn,. năng động và. tiêu điểm

Tác nhân người dùng tương tác đôi khi thay đổi kết xuất để đáp ứng với hành động của người dùng. Bộ chọn cung cấp ba lớp giả để lựa chọn một phần tử mà người dùng đang thao tác

  • Lớp giả
    h1, h2, h3 { font-family: sans-serif }
    79 áp dụng trong khi người dùng chỉ định một phần tử (với một số thiết bị trỏ), nhưng không kích hoạt nó. Ví dụ: một tác nhân người dùng trực quan có thể áp dụng lớp giả này khi con trỏ (con trỏ chuột) di chuyển qua một hộp được tạo bởi phần tử. Tác nhân người dùng không hỗ trợ không phải hỗ trợ lớp giả này. Một số tác nhân người dùng phù hợp hỗ trợ có thể không hỗ trợ lớp giả này (e. g. , một thiết bị bút)
  • Lớp giả
    h1, h2, h3 { font-family: sans-serif }
    80 áp dụng trong khi một phần tử đang được kích hoạt bởi người dùng. Ví dụ: giữa các lần người dùng nhấn và thả chuột
  • Lớp giả
    h1, h2, h3 { font-family: sans-serif }
    81 áp dụng trong khi một phần tử có tiêu điểm (chấp nhận các sự kiện bàn phím hoặc chuột hoặc các dạng đầu vào khác)

Có thể có ngôn ngữ tài liệu hoặc giới hạn triển khai cụ thể mà các phần tử có thể trở thành

h1, h2, h3 { font-family: sans-serif }
80 hoặc có được
h1, h2, h3 { font-family: sans-serif }
81

Các lớp giả này không loại trừ lẫn nhau. Một phần tử có thể khớp với nhiều phần tử trong số chúng cùng một lúc

ví dụ.

h1
6

Một ví dụ về kết hợp các lớp giả động

h1
7

Bộ chọn cuối cùng khớp với các phần tử

h1, h2, h3 { font-family: sans-serif }
29 ở lớp giả. tập trung và trong lớp giả. bay lượn

Ghi chú. Một phần tử có thể là cả '. đã đến thăm' và '. đang hoạt động' (hoặc '. liên kết' và '. tích cực')

6. 6. 2 Lớp giả mục tiêu. Mục tiêu

Một số URI đề cập đến một vị trí trong tài nguyên. Loại URI này kết thúc bằng một "ký hiệu số" (

h1, h2, h3 { font-family: sans-serif }
85) theo sau là một mã định danh neo (được gọi là mã định danh đoạn)

Các URI có mã định danh phân đoạn liên kết đến một phần tử nhất định trong tài liệu, được gọi là phần tử đích. Chẳng hạn, đây là một URI trỏ đến một anchor có tên là section_2 trong tài liệu HTML

h1
8

Một phần tử đích có thể được đại diện bởi lớp giả

h1, h2, h3 { font-family: sans-serif }
86

h1
9

đại diện cho một

h1, h2, h3 { font-family: sans-serif }
64 của ghi chú lớp là phần tử đích của URI giới thiệu

Ví dụ CSS về việc sử dụng lớp giả

h1, h2, h3 { font-family: sans-serif }
86.
link[hreflang=fr]
30

6. 6. 3 Lớp giả ngôn ngữ. lang thang

Nếu ngôn ngữ tài liệu chỉ định cách xác định ngôn ngữ con người của một phần tử, thì có thể viết các bộ chọn đại diện cho một phần tử dựa trên ngôn ngữ của phần tử đó. Ví dụ: trong HTML, ngôn ngữ được xác định bởi sự kết hợp của thuộc tính

h1, h2, h3 { font-family: sans-serif }
18, phần tử
h1, h2, h3 { font-family: sans-serif }
90 và có thể bởi thông tin từ giao thức (chẳng hạn như tiêu đề HTTP). XML sử dụng một thuộc tính có tên là
h1, h2, h3 { font-family: sans-serif }
19 và có thể có các phương pháp dành riêng cho ngôn ngữ tài liệu khác để xác định ngôn ngữ

Lớp giả

h1, h2, h3 { font-family: sans-serif }
92 đại diện cho một phần tử trong ngôn ngữ C. Ở đây C là mã ngôn ngữ như được chỉ định trong HTML 4. 01 và RFC 3066

ví dụ

Hai bộ chọn sau đại diện cho một tài liệu HTML bằng tiếng Pháp hoặc tiếng Đức của Bỉ. Hai bộ chọn tiếp theo đại diện cho các trích dẫn của

h1, h2, h3 { font-family: sans-serif }
93 trong một yếu tố tùy ý bằng tiếng Pháp hoặc tiếng Đức của Bỉ

link[hreflang=fr]
31

6. 6. 4 Phần tử giao diện người dùng cho biết các lớp giả

Các. kích hoạt và. lớp giả bị vô hiệu hóa

Mục đích của lớp giả

h1, h2, h3 { font-family: sans-serif }
94 là cho phép tác giả tùy chỉnh giao diện của các phần tử giao diện người dùng được bật - mà người dùng có thể chọn/kích hoạt theo cách nào đó (e. g. nhấp vào một nút bằng chuột). Cần có một lớp giả như vậy bởi vì không có cách nào để lập trình chỉ định giao diện mặc định của một phần tử
h1, h2, h3 { font-family: sans-serif }
95 được bật mà không chỉ định nó sẽ trông như thế nào khi nó bị vô hiệu hóa

Tương tự như

h1, h2, h3 { font-family: sans-serif }
94,
h1, h2, h3 { font-family: sans-serif }
97 cho phép tác giả chỉ định chính xác giao diện của phần tử giao diện người dùng bị vô hiệu hóa hoặc không hoạt động sẽ trông như thế nào

Cần lưu ý rằng hầu hết các yếu tố sẽ không được bật hoặc tắt. Một phần tử được kích hoạt nếu người dùng có thể kích hoạt nó hoặc chuyển tiêu điểm sang nó. Một phần tử bị vô hiệu hóa nếu phần tử đó có thể được bật, nhưng hiện tại người dùng không thể kích hoạt phần tử đó hoặc chuyển tiêu điểm sang phần tử đó

Các. đã kiểm tra lớp giả

Người dùng có thể bật tắt các phần tử radio và hộp kiểm. Một số mục menu được "kiểm tra" khi người dùng chọn chúng. Khi các phần tử như vậy được bật "bật" thì lớp giả

h1, h2, h3 { font-family: sans-serif }
98 sẽ được áp dụng. Lớp giả
h1, h2, h3 { font-family: sans-serif }
98 ban đầu áp dụng cho các phần tử như vậy có thuộc tính HTML4
h1
00 như được mô tả trong , nhưng tất nhiên người dùng có thể "tắt" các phần tử đó, trong trường hợp đó, lớp giả
h1, h2, h3 { font-family: sans-serif }
98 sẽ không còn được áp dụng. Mặc dù lớp giả
h1, h2, h3 { font-family: sans-serif }
98 có bản chất động và bị thay đổi bởi hành động của người dùng, vì nó cũng có thể dựa trên sự hiện diện của thuộc tính ngữ nghĩa HTML4
h1
00, nó áp dụng cho tất cả các phương tiện.

Các. lớp giả không xác định

Người dùng có thể bật/tắt các phần tử radio và hộp kiểm, nhưng đôi khi ở trạng thái không xác định, không được chọn cũng như không được chọn. Điều này có thể là do thuộc tính phần tử hoặc thao tác DOM. Lớp giả

h1
04 áp dụng cho các phần tử như vậy. Mặc dù lớp giả
h1
04 có bản chất động và bị thay đổi bởi hành động của người dùng, vì nó cũng có thể dựa trên sự hiện diện của một thuộc tính phần tử, nó áp dụng cho tất cả các phương tiện.

Các thành phần của nhóm radio được khởi tạo không có lựa chọn được chọn trước là một ví dụ về. trạng thái không xác định

6. 6. 5 lớp giả cấu trúc

Bộ chọn giới thiệu khái niệm lớp giả cấu trúc để cho phép lựa chọn dựa trên thông tin bổ sung nằm trong cây tài liệu nhưng không thể được biểu thị bằng bộ chọn hoặc bộ kết hợp đơn giản khác

Lưu ý rằng PCDATA độc lập không được tính khi tính toán vị trí của một phần tử trong danh sách con của phần tử cha của nó. Khi tính toán vị trí của một phần tử trong danh sách con của phần tử cha, việc đánh số chỉ mục bắt đầu từ 1

lớp giả gốc

Lớp giả

h1
06 đại diện cho một phần tử là gốc của tài liệu. Trong HTML 4, đây là phần tử
h1
07. Trong XML, nó là bất cứ thứ gì phù hợp với DTD hoặc lược đồ và không gian tên cho tài liệu XML đó

lớp giả nth-child()

Ký hiệu lớp giả

h1
08 đại diện cho một phần tử có +b-1 anh chị em trước nó trong cây tài liệu, đối với một số nguyên dương hoặc giá trị 0 nhất định của n. Nói cách khác, điều này khớp với phần tử con thứ b của một phần tử sau khi tất cả các phần tử con đã được chia thành các nhóm phần tử a. Ví dụ: điều này cho phép bộ chọn giải quyết mọi hàng khác trong bảng và có thể được sử dụng, chẳng hạn, để thay thế màu của văn bản đoạn văn trong một chu kỳ bốn. Các giá trị a và b phải bằng 0, số nguyên âm hoặc số nguyên dương. Chỉ số của phần tử con đầu tiên là 1

Ngoài ra,

h1
09 có thể lấy 'lẻ' và 'chẵn' làm đối số. 'lẻ' có cùng ý nghĩa với 2n+1 và 'chẵn' có cùng ý nghĩa với 2n

ví dụ.

link[hreflang=fr]
32

Khi a=0, không sử dụng phép lặp, vì vậy, ví dụ:

h1
10 chỉ khớp với phần tử con thứ năm. Khi a=0, phần a không cần đưa vào, vì vậy cú pháp đơn giản hóa thành
h1
11 và ví dụ cuối cùng đơn giản hóa thành
h1
12

link[hreflang=fr]
33

Khi a=1, số có thể bị bỏ qua trong quy tắc, vì vậy các ví dụ sau là tương đương

link[hreflang=fr]
34

Nếu b=0, thì mọi phần tử thứ a đều được chọn

link[hreflang=fr]
35

Nếu cả a và b đều bằng 0, lớp giả không đại diện cho phần tử nào trong cây tài liệu

Giá trị a có thể âm, nhưng chỉ các giá trị dương của an+b, với n>= 0, mới có thể đại diện cho một phần tử trong cây tài liệu, tất nhiên

link[hreflang=fr]
36

lớp giả nth-last-child()

Ký hiệu lớp giả

h1
13 đại diện cho một phần tử có +b-1 anh chị em sau nó trong cây tài liệu, đối với một số nguyên dương hoặc giá trị 0 nhất định của n. Xem lớp giả
h1
09 để biết cú pháp đối số của nó. Nó cũng chấp nhận các giá trị 'chẵn' và 'lẻ' cho đối số

ví dụ.

link[hreflang=fr]
37

lớp giả nth-of-type()

Ký hiệu lớp giả

h1
15 đại diện cho một phần tử có +b-1 anh chị em có cùng tên phần tử trước nó trong cây tài liệu, với giá trị nguyên dương hoặc 0 nhất định của n. Nói cách khác, điều này khớp với phần tử con thứ b của loại đó sau khi tất cả các phần tử con của loại đó đã được chia thành các nhóm của mỗi phần tử a. Xem lớp giả
h1
09 để biết cú pháp đối số của nó. Nó cũng chấp nhận các giá trị 'chẵn' và 'lẻ' cho đối số

Ví dụ: điều này cho phép trong CSS thay thế vị trí của hình ảnh nổi.

link[hreflang=fr]
38

lớp giả nth-last-of-type()

Ký hiệu lớp giả

h1
17 đại diện cho một phần tử có +b-1 anh chị em có cùng tên phần tử sau nó trong cây tài liệu, với giá trị nguyên dương hoặc 0 nhất định của n. Xem lớp giả
h1
09 để biết cú pháp đối số của nó. Nó cũng chấp nhận các giá trị 'chẵn' và 'lẻ' cho đối số

Ví dụ: để đại diện cho tất cả

h1
19 con của XHTML
h1
20 ngoại trừ con đầu tiên và con cuối cùng, người ta sẽ sử dụng bộ chọn sau.
link[hreflang=fr]
39

Trong trường hợp này, người ta cũng có thể sử dụng

h1
21, mặc dù bộ chọn cuối cùng chỉ dài bằng

h1, h2, h3 { font-family: sans-serif }
40

lớp giả con đầu lòng

Tương tự như

h1
22. Lớp giả
h1
23 đại diện cho một phần tử là con đầu tiên của một số phần tử khác

ví dụ

Trong ví dụ sau, bộ chọn đại diện cho phần tử

h1, h2, h3 { font-family: sans-serif }
64 là phần tử con đầu tiên của phần tử
h1
25

h1, h2, h3 { font-family: sans-serif }
41Bộ chọn này có thể đại diện cho
h1, h2, h3 { font-family: sans-serif }
64 bên trong
h1
25 của đoạn sau.
h1, h2, h3 { font-family: sans-serif }
42nhưng không thể đại diện cho
h1, h2, h3 { font-family: sans-serif }
64 thứ hai trong đoạn sau.
h1, h2, h3 { font-family: sans-serif }
43Hai bộ chọn sau là tương đương.
h1, h2, h3 { font-family: sans-serif }
44

lớp giả con cuối cùng

Tương tự như

h1
29. Lớp giả
h1
30 đại diện cho một phần tử là con cuối cùng của một số phần tử khác

Bộ chọn sau đại diện cho một mục danh sách

h1
31 là phần tử con cuối cùng của danh sách có thứ tự
h1
32

lớp giả đầu tiên

Tương tự như

h1
33. Lớp giả
h1
34 đại diện cho một phần tử là anh chị em đầu tiên của loại của nó trong danh sách con của phần tử cha của nó

Thí dụ

Bộ chọn sau đại diện cho tiêu đề định nghĩa

h1
35 bên trong danh sách định nghĩa
h1
36,
h1
35 này là kiểu đầu tiên trong danh sách phần tử con của phần tử cha

h1, h2, h3 { font-family: sans-serif }
45Đó là một mô tả hợp lệ cho hai
h1
35 đầu tiên trong ví dụ sau nhưng không phải cho cái thứ ba.
h1, h2, h3 { font-family: sans-serif }
46

lớp giả loại cuối cùng

Tương tự như

h1
39. Lớp giả
h1
40 đại diện cho một phần tử là anh chị em cuối cùng của loại của nó trong danh sách con của phần tử cha của nó

Thí dụ

Bộ chọn sau đại diện cho ô dữ liệu cuối cùng

h1
41 của một hàng trong bảng

h1, h2, h3 { font-family: sans-serif }
47

lớp giả con một

Đại diện cho một phần tử không có anh chị em. Tương tự như

h1
42 hoặc
h1
43, nhưng có độ đặc hiệu thấp hơn

lớp giả duy nhất của loại

Đại diện cho một phần tử không có anh chị em nào có cùng tên phần tử. Tương tự như

h1
44 hoặc
h1
45, nhưng có độ đặc hiệu thấp hơn

lớp giả trống

Lớp giả

h1
46 đại diện cho một phần tử không có phần tử con nào, bao gồm các nút văn bản có thể trống, theo quan điểm DOM

ví dụ

h1
47 là một đại diện hợp lệ của đoạn sau

h1, h2, h3 { font-family: sans-serif }
48

h1
48 không phải là đại diện hợp lệ cho các đoạn sau

h1, h2, h3 { font-family: sans-serif }
49
h1, h2, h3 { font-family: sans-serif }
70
h1, h2, h3 { font-family: sans-serif }
71

6. 6. 6 Lớp giả nội dung

Ký hiệu lớp giả

h1
49 đại diện cho một phần tử có nội dung văn bản chứa chuỗi con đã cho. Đối số của lớp giả này có thể là một chuỗi (được bao quanh bởi dấu ngoặc kép) hoặc từ khóa

Việc sử dụng lớp giả nội dung bị hạn chế đối với các loại phương tiện tĩnh (xem phần )

Nội dung văn bản của một phần tử nhất định được xác định bằng cách ghép nối tất cả PCDATA có trong phần tử và các phần tử con

Thí dụ.

h1, h2, h3 { font-family: sans-serif }
72 là một mô tả chính xác và hợp lệ, nhưng một phần, về.
h1, h2, h3 { font-family: sans-serif }
73

Các ký tự đặc biệt có thể được chèn vào đối số của một lớp giả nội dung bằng cách sử dụng cơ chế thoát cho các ký tự Unicode và ký tự xuống dòng

Cảnh báo. bộ chọn

h1
50 sẽ khớp với danh sách

  • h1
    51
  • h1
    52

Ghi chú.

h1
53 là lớp giả, không phải phần tử giả. Quy tắc CSS sau được áp dụng cho đoạn HTML ở trên sẽ không chỉ thêm nền đỏ cho từ "Đánh dấu" mà sẽ thêm nền như vậy cho toàn bộ đoạn văn

h1, h2, h3 { font-family: sans-serif }
74

6. 6. 7 Lớp giả phủ định

Lớp giả phủ định là một ký hiệu chức năng lấy a (không bao gồm chính lớp giả phủ định và các phần tử giả) làm đối số. Nó đại diện cho một phần tử không được đại diện bởi đối số

ví dụ

Bộ chọn CSS sau phù hợp với tất cả các phần tử

h1
54 trong tài liệu HTML không bị tắt

h1, h2, h3 { font-family: sans-serif }
75

Bộ chọn sau đại diện cho tất cả trừ các phần tử

h1
55

h1, h2, h3 { font-family: sans-serif }
76

Nhóm bộ chọn sau đại diện cho tất cả các phần tử trừ các liên kết HTML

h1, h2, h3 { font-family: sans-serif }
77

Ghi chú. các. not() pseudo cho phép viết các bộ chọn vô dụng. Ví dụ:

h1
56, không đại diện cho phần tử nào cả, hoặc
h1
57, tương đương với
h1
58 nhưng có độ đặc hiệu cao hơn

Các phần tử giả tạo các phần trừu tượng về cây tài liệu ngoài những phần được chỉ định bởi ngôn ngữ tài liệu. Chẳng hạn, ngôn ngữ tài liệu không cung cấp cơ chế để truy cập chữ cái đầu tiên hoặc dòng đầu tiên của nội dung phần tử. Các phần tử giả cho phép các nhà thiết kế tham khảo thông tin không thể truy cập này. Các phần tử giả cũng có thể cung cấp cho các nhà thiết kế một cách để tham khảo nội dung không tồn tại trong tài liệu nguồn (e. g. , các phần tử giả

h1
59 và
h1
60 cấp quyền truy cập vào nội dung được tạo)

Một phần tử giả được tạo bởi hai dấu hai chấm (_______661) theo sau là tên của phần tử giả

Ghi chú. ký hiệu

h1
61 này được giới thiệu bởi tài liệu hiện tại để thiết lập sự phân biệt giữa các lớp giả và các phần tử giả. Để tương thích với biểu định kiểu hiện có, tác nhân người dùng cũng phải chấp nhận ký hiệu một dấu hai chấm trước đó cho các phần tử giả được giới thiệu trong CSS cấp 1 và 2. Khả năng tương thích này không được phép đối với các phần tử giả mới được giới thiệu trong CSS cấp 3

Các phần tử giả chỉ có thể xuất hiện một lần trong chuỗi các bộ chọn đơn giản đại diện cho bộ chọn

7. 1 cái. phần tử giả dòng đầu tiên

Phần tử giả

h1
63 mô tả dòng được định dạng đầu tiên của một phần tử

Ví dụ trong CSS

h1, h2, h3 { font-family: sans-serif }
78

Quy tắc trên có nghĩa là "đổi các chữ cái ở dòng đầu tiên của mỗi đoạn văn thành chữ hoa". Tuy nhiên, bộ chọn

h1
64 không khớp với bất kỳ phần tử HTML thực nào. Nó khớp với một phần tử giả mà các tác nhân người dùng phù hợp sẽ chèn vào đầu mỗi đoạn

Lưu ý rằng độ dài của dòng đầu tiên phụ thuộc vào một số yếu tố, bao gồm chiều rộng của trang, cỡ chữ, v.v. Do đó, một đoạn HTML thông thường chẳng hạn như

h1, h2, h3 { font-family: sans-serif }
79

các dòng trong số đó sẽ được hiển thị như sau nếu áp dụng quy tắc kiểu ở trên

link[hreflang=fr]
10

có thể được tác nhân người dùng "viết lại" để bao gồm chuỗi thẻ hư cấu cho

h1
63. Trình tự thẻ hư cấu này giúp hiển thị cách các thuộc tính được kế thừa

link[hreflang=fr]
11

Nếu một phần tử giả phá vỡ một phần tử thực, hiệu ứng mong muốn có thể được mô tả bằng cách đóng và sau đó mở lại trình tự thẻ hư cấu. Do đó, nếu chúng ta đánh dấu đoạn trước đó bằng phần tử

h1, h2, h3 { font-family: sans-serif }
23

link[hreflang=fr]
11

tác nhân người dùng có thể tạo thẻ bắt đầu và thẻ kết thúc thích hợp cho chuỗi thẻ hư cấu cho

h1
63

link[hreflang=fr]
13

Phần tử giả

h1
63 chỉ có thể được gắn vào phần tử cấp khối

Phần tử giả

h1
63 tương tự như phần tử cấp độ nội tuyến, nhưng có một số hạn chế nhất định, tùy thuộc vào cách sử dụng. Chỉ các thuộc tính sau áp dụng cho phần tử giả
h1
63. thuộc tính phông chữ, thuộc tính màu sắc, thuộc tính nền, 'khoảng cách giữa các từ', 'khoảng cách giữa các chữ cái', 'trang trí văn bản', 'căn dọc', 'chuyển đổi văn bản', 'chiều cao dòng', 'bóng đổ văn bản'

7. 2 cái. phần tử giả chữ cái đầu tiên

Phần tử giả

h1
71 mô tả chữ cái được định dạng đầu tiên của một phần tử

Phần tử giả

h1
71 có thể được gắn vào tất cả các phần tử

Phần tử giả

h1
71 có thể được sử dụng cho "intial caps" và "drop caps", đây là những hiệu ứng đánh máy phổ biến. Loại chữ cái đầu tiên này tương tự như phần tử cấp độ nội tuyến nếu thuộc tính CSS 'float' của nó là 'không', nhưng với một số hạn chế nhất định, tùy thuộc vào cách sử dụng. Mặt khác, nó tương tự như một phần tử nổi

Đây là các thuộc tính CSS áp dụng cho các phần tử giả

h1
71. thuộc tính phông chữ, thuộc tính màu, thuộc tính nền, 'trang trí văn bản', 'căn dọc' (chỉ khi 'float' là 'không'), 'chuyển đổi văn bản', 'chiều cao dòng', thuộc tính lề, thuộc tính đệm,

CSS2 sau đây sẽ tạo một chữ cái đầu tiên của drop cap kéo dài hai dòng

link[hreflang=fr]
14

Ví dụ này có thể được định dạng như sau

Css ký quỹ âm w3schools

Trình tự thẻ hư cấu là

link[hreflang=fr]
15

Lưu ý rằng các thẻ phần tử giả ________ 671 về nội dung (e. g. , ký tự ban đầu). Khi cả phần tử giả

h1
63 và
h1
71 được sử dụng, chuỗi thẻ hư cấu
h1
71 được chèn vào bên trong chuỗi thẻ hư cấu
h1
63

Để đạt được định dạng chữ hoa đầu dòng truyền thống, tác nhân người dùng có thể ước tính kích thước phông chữ, ví dụ: để căn chỉnh đường cơ sở. Ngoài ra, đường viền glyph có thể được tính đến khi định dạng

Dấu chấm câu (tôi. e, các ký tự được định nghĩa bằng Unicode trong các lớp dấu chấm câu "mở" (Ps), "đóng" (Pe) và "khác" (Po)), đứng trước chữ cái đầu tiên, như trong

Css ký quỹ âm w3schools

Phần tử giả

h1
71 chỉ khớp với các phần của phần tử

Một số ngôn ngữ có thể có các quy tắc cụ thể về cách xử lý các tổ hợp chữ cái nhất định. Ví dụ: trong tiếng Hà Lan, nếu tổ hợp chữ cái "ij" xuất hiện ở đầu một từ, cả hai chữ cái sẽ được xem xét trong phần tử giả

h1
71. Phần tử giả
h1
71 nên chọn chọn từ phần đầu của phần tử cho đến cụm ký tự không có dấu chấm câu mở đầu tiên

Ví dụ sau minh họa cách các phần tử giả chồng chéo có thể tương tác với nhau. Chữ cái đầu tiên của mỗi phần tử

h1
83 sẽ có màu xanh lục với cỡ chữ là '24pt'. Phần còn lại của dòng được định dạng đầu tiên sẽ có màu "xanh lam" trong khi phần còn lại của đoạn văn sẽ có màu "đỏ"

link[hreflang=fr]
16

Giả sử rằng ngắt dòng sẽ xảy ra trước từ "kết thúc", trình tự thẻ hư cấu cho đoạn này có thể là

link[hreflang=fr]
17

Lưu ý rằng phần tử ______671 nằm bên trong phần tử

h1
63. Các thuộc tính được đặt trên
h1
63 được kế thừa bởi
h1
71, nhưng sẽ bị ghi đè nếu cùng một thuộc tính được đặt trên
h1
71

7. 3 Phần tử giao diện người dùng phân mảnh các phần tử giả

Các. phần tử giả lựa chọn

Phần tử giả

h1
89 áp dụng cho phần tài liệu đã được người dùng đánh dấu. Ví dụ, điều này cũng áp dụng cho văn bản đã chọn trong trường văn bản có thể chỉnh sửa. Không nên nhầm lẫn phần tử giả này với lớp giả
h1
90 (trước đây được đặt tên là
h1
91)

Mặc dù phần tử giả

h1
89 có bản chất là động và bị thay đổi bởi hành động của người dùng, nhưng thật hợp lý khi kỳ vọng rằng khi UA hiển thị lại một phương tiện tĩnh (chẳng hạn như trang in, xem ) mà ban đầu được hiển thị thành một phương tiện động ( . Điều này là không bắt buộc - UAs có thể bỏ qua phần tử giả
h1
89 cho phương tiện tĩnh

Đây là các thuộc tính CSS áp dụng cho các phần tử giả

h1
89. màu, con trỏ, nền, phác thảo. Giá trị được tính toán của thuộc tính 'background-image' trên
h1
89 có thể bị bỏ qua

7. 4 cái. trước và. sau các phần tử giả

Các phần tử giả

h1
59 và
h1
60 có thể được sử dụng để mô tả nội dung được tạo trước hoặc sau nội dung của phần tử. Chúng được giải thích trong Mô-đun CSS3 nội dung/điểm đánh dấu được tạo

Khi các phần tử giả

h1
71 và
h1
63 được kết hợp với
h1
59 và
h1
60, chúng sẽ áp dụng cho chữ cái hoặc dòng đầu tiên của phần tử bao gồm văn bản được chèn

Đôi khi, các tác giả có thể muốn các bộ chọn mô tả một phần tử là hậu duệ của một phần tử khác trong cây tài liệu (e. g. , "phần tử

link[hreflang=fr]
303 được chứa trong phần tử
link[hreflang=fr]
304"). Tổ hợp hậu duệ thể hiện mối quan hệ như vậy. Bộ kết hợp hậu duệ là bộ phân tách hai chuỗi bộ chọn đơn giản. Bộ chọn có dạng "
link[hreflang=fr]
305" đại diện cho một phần tử
link[hreflang=fr]
306 là hậu duệ tùy ý của một số phần tử tổ tiên
link[hreflang=fr]
307

ví dụ

Ví dụ: hãy xem xét bộ chọn sau

link[hreflang=fr]
18Nó đại diện cho một phần tử
link[hreflang=fr]
308 là hậu duệ của một phần tử
link[hreflang=fr]
5. Đó là một mô tả chính xác và hợp lệ, nhưng một phần, của đoạn sau.
link[hreflang=fr]
19Bộ chọn sau.
link[hreflang=fr]
50 đại diện cho phần tử
h1, h2, h3 { font-family: sans-serif }
64 là cháu hoặc hậu duệ sau này của phần tử
h1
25. Lưu ý khoảng trắng ở hai bên của "*"

Bộ chọn sau, kết hợp các bộ tổ hợp con cháu và , đại diện cho một phần tử (1) có tập thuộc tính

h1, h2, h3 { font-family: sans-serif }
30 và (2) nằm trong một
h1, h2, h3 { font-family: sans-serif }
64 mà chính nó nằm trong một
h1
25

link[hreflang=fr]
51

Một bộ kết hợp con mô tả mối quan hệ thời thơ ấu giữa hai phần tử. Bộ kết hợp con được tạo từ ký tự "lớn hơn dấu" (

link[hreflang=fr]
2) và phân tách hai chuỗi bộ chọn đơn giản

ví dụ

Bộ chọn sau đại diện cho một phần tử

h1, h2, h3 { font-family: sans-serif }
64 là con của
h1
20

link[hreflang=fr]
52

Ví dụ sau kết hợp các tổ hợp con và tổ hợp con

link[hreflang=fr]
53

Nó đại diện cho một phần tử

h1, h2, h3 { font-family: sans-serif }
64 là hậu duệ của một
h1
31; . Lưu ý rằng khoảng trắng tùy chọn xung quanh bộ kết hợp ">" đã bị loại bỏ

Để biết thông tin về cách chọn con đầu tiên của một phần tử, vui lòng xem phần về lớp giả

link[hreflang=fr]
324 ở trên

Có hai tổ hợp anh chị em liền kề khác nhau. tổ hợp liền kề trực tiếp và tổ hợp liền kề gián tiếp

8. 3. 1 Tổ hợp liền kề trực tiếp

Các bộ tổ hợp liền kề trực tiếp được tạo bằng ký tự "dấu cộng" (

link[hreflang=fr]
3) phân tách hai chuỗi bộ chọn đơn giản. Các phần tử được đại diện bởi hai chuỗi chia sẻ cùng một gốc trong cây tài liệu và phần tử được đại diện bởi chuỗi đầu tiên ngay trước phần tử được đại diện bởi chuỗi thứ hai

ví dụ

Do đó, bộ chọn sau đại diện cho phần tử

h1, h2, h3 { font-family: sans-serif }
64 ngay sau phần tử
link[hreflang=fr]
327

link[hreflang=fr]
54

Bộ chọn sau đây tương tự về mặt khái niệm với bộ chọn trong ví dụ trước, ngoại trừ việc nó thêm một bộ chọn thuộc tính. Do đó, nó thêm một ràng buộc đối với phần tử

link[hreflang=fr]
5 phải có
link[hreflang=fr]
329

link[hreflang=fr]
55

8. 3. 2 Tổ hợp liền kề gián tiếp

Các tổ hợp liền kề gián tiếp được tạo bằng ký tự "dấu ngã" (

link[hreflang=fr]
4) phân tách hai chuỗi các bộ chọn đơn giản. Các phần tử được đại diện bởi hai chuỗi chia sẻ cùng một gốc trong cây tài liệu và phần tử được đại diện bởi chuỗi đầu tiên đứng trước (không nhất thiết phải ngay lập tức) phần tử được đại diện bởi chuỗi thứ hai

Thí dụ.

link[hreflang=fr]
56 đại diện cho một phần tử
link[hreflang=fr]
331 theo sau một
link[hreflang=fr]
5. Đó là một mô tả chính xác và hợp lệ, nhưng một phần, về.
link[hreflang=fr]
57

Độ đặc hiệu của bộ chọn được tính như sau

  • bộ chọn phủ định được tính giống như đối số bộ chọn đơn giản của chúng
  • đếm số thuộc tính ID trong bộ chọn (= a)
  • đếm số thuộc tính và lớp giả khác trong bộ chọn (= b)
  • đếm số lượng tên phần tử trong bộ chọn (= c)
  • bỏ qua các phần tử giả

Ghép ba số a-b-c (trong hệ số có cơ số lớn) cho ta tính đặc trưng

Vài ví dụ

link[hreflang=fr]
58

Ghi chú. tính đặc hiệu của các kiểu được chỉ định trong thuộc tính HTML

link[hreflang=fr]
333 được mô tả trong Mô-đun CSS3 khác "Cascade and Inheritance"

Ngữ pháp dưới đây xác định cú pháp của Bộ chọn. Nó là LL(1) trên toàn cầu và có thể là LL(2) cục bộ (nhưng lưu ý rằng hầu hết các UA không nên sử dụng nó trực tiếp, vì nó không thể hiện các quy ước phân tích cú pháp). Định dạng của sản phẩm được tối ưu hóa cho tiêu dùng của con người và một số ký hiệu tốc ký ngoài Yacc (xem ) được sử dụng

  • *. 0 trở lên
  • +. 1 hoặc nhiều hơn
  • ?. 0 hoặc 1
  • tách các lựa chọn thay thế
  • [ ]. phân nhóm

Các sản phẩm là

link[hreflang=fr]
59

Sau đây là mã thông báo, được viết bằng ký hiệu Flex (xem ). Mã thông báo không phân biệt chữ hoa chữ thường

Hai lần xuất hiện của "\377" biểu thị số ký tự cao nhất mà các phiên bản Flex hiện tại có thể xử lý (thập phân 255). Chúng phải được đọc là "\4177777" (số thập phân 1114111), đây là điểm mã cao nhất có thể có trong Unicode/ISO-10646

link[hreflang=fr]
0

Một vấn đề quan trọng là sự tương tác của các bộ chọn CSS với các tài liệu XML trong các máy khách web được tạo trước tài liệu này. Thật không may, do các không gian tên phải được đối sánh dựa trên URI xác định không gian tên chứ không phải tiền tố không gian tên, nên cũng cần có một số cơ chế để xác định các không gian tên trong CSS bằng URI của chúng. Nếu không có cơ chế như vậy, không thể xây dựng biểu định kiểu CSS sẽ khớp chính xác các bộ chọn trong mọi trường hợp với một bộ tài liệu XML ngẫu nhiên. Tuy nhiên, với kiến ​​thức đầy đủ về tài liệu XML mà biểu định kiểu sẽ được áp dụng và việc sử dụng hạn chế các không gian tên trong tài liệu XML, có thể xây dựng biểu định kiểu trong đó các bộ chọn sẽ khớp chính xác các thành phần và thuộc tính

Cần lưu ý rằng ứng dụng khách CSS cấp thấp sẽ (nếu nó tuân thủ đúng các quy tắc phân tích cú pháp tương thích chuyển tiếp CSS) sẽ bỏ qua tất cả các quy tắc tại

link[hreflang=fr]
334, cũng như tất cả các quy tắc kiểu sử dụng bộ chọn thuộc tính hoặc loại phần tử đủ điều kiện cho không gian tên. Cú pháp phân định các tiền tố không gian tên trong CSS đã được chọn một cách có chủ ý để các máy khách CSS cấp thấp sẽ bỏ qua các quy tắc kiểu thay vì có thể khớp chúng không chính xác

Việc sử dụng các không gian tên mặc định trong CSS giúp có thể viết các bộ chọn loại phần tử sẽ hoạt động trong cả ứng dụng khách CSS nhận biết không gian tên cũng như ứng dụng khách cấp thấp. Cần lưu ý rằng các máy khách cấp thấp có thể khớp sai các bộ chọn với các phần tử XML trong các không gian tên khác

Sau đây là các tình huống và ví dụ trong đó có thể xây dựng các biểu định kiểu sẽ hoạt động bình thường trong các máy khách web không triển khai đề xuất này

  1. Tài liệu XML không sử dụng không gian tên
    • Trong trường hợp này, rõ ràng là không cần thiết phải khai báo hoặc sử dụng các không gian tên trong biểu định kiểu. Bộ chọn thuộc tính và loại phần tử CSS tiêu chuẩn sẽ hoạt động đầy đủ trong ứng dụng khách cấp thấp
    • Trong ứng dụng khách nhận biết không gian tên CSS, hành vi mặc định của bộ chọn phần tử khớp mà không quan tâm đến không gian tên sẽ hoạt động bình thường đối với tất cả các phần tử, vì không có không gian tên nào hiện diện. Tuy nhiên, việc sử dụng các bộ chọn loại phần tử cụ thể chỉ khớp với các phần tử không có vùng tên ("
      link[hreflang=fr]
      335") sẽ đảm bảo rằng các bộ chọn sẽ chỉ khớp với các phần tử XML không có vùng tên được khai báo
  2. Tài liệu XML xác định một không gian tên mặc định, duy nhất được sử dụng trong toàn bộ tài liệu. Không có tiền tố không gian tên nào được sử dụng trong tên phần tử
    • Trong trường hợp này, một ứng dụng khách cấp dưới sẽ hoạt động như thể các không gian tên hoàn toàn không được sử dụng trong tài liệu XML. Bộ chọn thuộc tính và loại phần tử CSS tiêu chuẩn sẽ khớp với tất cả các phần tử
  3. Tài liệu XML không sử dụng không gian tên mặc định, tất cả các tiền tố không gian tên được sử dụng đều được tác giả biểu định kiểu biết và có một ánh xạ trực tiếp giữa tiền tố không gian tên và URI không gian tên. (Một tiền tố nhất định chỉ có thể được ánh xạ tới một URI không gian tên trong toàn bộ tài liệu XML, có thể có nhiều tiền tố được ánh xạ tới cùng một URI)
    • Trong trường hợp này, ứng dụng khách cấp thấp hơn sẽ xem và so khớp các bộ chọn thuộc tính và loại phần tử dựa trên tên đủ điều kiện của chúng, chứ không phải phần cục bộ như đã nêu trong phần. Bộ chọn CSS có thể được khai báo bằng cách sử dụng dấu hai chấm thoát "______1336" để mô tả các tên đủ điều kiện, e. g. "______1337" sẽ khớp với
      link[hreflang=fr]
      338. Bộ chọn sử dụng tên đủ điều kiện sẽ chỉ khớp với các phần tử XML sử dụng cùng một tiền tố. Các tiền tố không gian tên khác được sử dụng trong XML được ánh xạ tới cùng một URI sẽ không khớp như mong đợi trừ khi các quy tắc kiểu CSS bổ sung được khai báo cho chúng
    • Lưu ý rằng các bộ chọn được khai báo theo cách này sẽ chỉ phù hợp với các ứng dụng khách cấp thấp hơn. Máy khách nhận biết không gian tên CSS sẽ khớp với bộ chọn loại phần tử và thuộc tính dựa trên phần cục bộ của tên. Vì vậy, các bộ chọn được khai báo với tên đủ điều kiện sẽ không khớp (trừ khi không có tiền tố không gian tên trong tên đủ điều kiện)

Trong các tình huống khác. khi các tiền tố không gian tên được sử dụng trong XML không được tác giả biểu định kiểu biết trước;

Mỗi thông số kỹ thuật sử dụng Bộ chọn phải xác định tập hợp con của Bộ chọn W3C mà nó cho phép và loại trừ, đồng thời mô tả ý nghĩa cục bộ của tất cả các thành phần của tập hợp con đó

ví dụ phi quy chuẩn

Hồ sơ bộ chọnThông số kỹ thuậtCSS cấp 1Chấp nhận bộ chọn loại
bộ chọn lớp
Bộ chọn ID
. liên kết,. đã đến thăm và. lớp giả đang hoạt động
bộ tổ hợp hậu duệ
. dòng đầu tiên và. phần tử giả chữ cái đầu tiên Loại trừ

bộ chọn chung
bộ chọn thuộc tính
. di chuột và. tập trung vào các lớp giả
. lớp giả mục tiêu
. lớp giả lang()
tất cả trạng thái phần tử giao diện người dùng là lớp giả
tất cả lớp giả cấu trúc
. chứa() lớp giả
lớp giả phủ định
tất cả các phần tử giao diện người dùng phân mảnh phần tử giả
. trước và. sau phần tử giả
bộ kết hợp con
bộ kết hợp anh chị em liền kề

không gian tên

Các ràng buộc bổ sung chỉ cho phép một bộ chọn lớp cho mỗi chuỗi bộ chọn đơn giản

 

Hồ sơ bộ chọnThông số kỹ thuậtCSS cấp 2Chấp nhận bộ chọn loại
bộ chọn chung
bộ chọn giá trị và hiện diện thuộc tính
bộ chọn lớp
ID selectors
:link, :visited, :active, :hover, :focus, :lang() and :first-child pseudo-classes
bộ kết hợp con cháu
bộ kết hợp con
bộ kết hợp trực tiếp liền kề
. dòng đầu tiên và. phần tử giả chữ cái đầu tiên
. trước và. sau phần tử giả Loại trừ

bộ chọn nội dung
bộ chọn thuộc tính khớp chuỗi con
. các lớp giả mục tiêu
tất cả các phần tử giao diện người dùng trạng thái các lớp giả
tất cả các lớp giả cấu trúc khác với. con đầu lòng
. chứa() lớp giả
lớp giả phủ định
tất cả các phần tử giao diện người dùng phân mảnh phần tử giả
các tổ hợp gián tiếp liền kề

không gian tên

Các ràng buộc bổ sung cho phép nhiều hơn một bộ chọn lớp trên mỗi chuỗi các bộ chọn đơn giản (ràng buộc CSS1)

Trong CSS, bộ chọn thể hiện các quy tắc khớp mẫu để xác định quy tắc kiểu nào áp dụng cho các thành phần trong cây tài liệu

Bộ chọn sau (CSS cấp 2) sẽ khớp với tất cả các neo

h1, h2, h3 { font-family: sans-serif }
29 với thuộc tính
link[hreflang=fr]
340 được đặt bên trong tiêu đề phần 1
link[hreflang=fr]
5

link[hreflang=fr]
1

Tất cả các khai báo CSS được đính kèm với bộ chọn như vậy đều được áp dụng cho các phần tử khớp với nó

Hồ sơ bộ chọnThông số kỹ thuậtSTTS 3Chấp nhận

bộ chọn loại
bộ chọn phổ biến
bộ chọn thuộc tính
bộ chọn lớp
ID . chứa() lớp giả
all structural pseudo-classes
:contains() pseudo-class
tất cả các tổ hợp

không gian tên

Loại trừ các lớp giả không được chấp nhận
phần tử giả
Không cho phép một số bộ chọn và bộ kết hợp ràng buộc bổ sung trong mô tả đoạn ở bên phải của khai báo STTS.

Bộ chọn có thể được sử dụng trong STTS 3 theo hai cách khác nhau

  1. một cơ chế lựa chọn tương đương với cơ chế lựa chọn CSS. các khai báo được đính kèm với một bộ chọn nhất định được áp dụng cho các phần tử khớp với bộ chọn đó,
  2. mô tả đoạn xuất hiện ở phía bên phải của khai báo

13. Tuân thủ và Yêu cầu

Phần này chỉ xác định sự phù hợp với thông số kỹ thuật hiện tại

Tác nhân người dùng không thể thực hiện một phần của thông số kỹ thuật này do những hạn chế của một thiết bị cụ thể (e. g. , các tác nhân người dùng không tương tác có thể sẽ không triển khai các lớp giả động vì chúng không có ý nghĩa gì nếu không có tính tương tác) không có nghĩa là không tuân thủ

Tất cả các thông số kỹ thuật sử dụng lại Bộ chọn phải chứa danh sách tập hợp con của Bộ chọn mà nó chấp nhận hoặc loại trừ và mô tả các ràng buộc mà nó thêm vào thông số kỹ thuật hiện tại

Tính không hợp lệ là do lỗi phân tích cú pháp, e. g. mã thông báo không được nhận dạng hoặc mã thông báo không được phép tại điểm phân tích cú pháp hiện tại

Tác nhân người dùng phải tuân thủ các quy tắc xử lý lỗi phân tích cú pháp

  • một bộ chọn đơn giản chứa tiền tố không gian tên không được khai báo là không hợp lệ
  • bộ chọn chứa bộ chọn đơn giản không hợp lệ, bộ kết hợp không hợp lệ hoặc mã thông báo không hợp lệ không hợp lệ
  • một nhóm bộ chọn chứa bộ chọn không hợp lệ là không hợp lệ

Việc triển khai đặc tả này phải hoạt động như "người nhận dữ liệu văn bản" như được xác định khi phân tích cú pháp bộ chọn và cố gắng so khớp. (Cụ thể, việc triển khai phải giả sử dữ liệu được chuẩn hóa và không được chuẩn hóa dữ liệu. ) Các quy tắc chuẩn cho các chuỗi phù hợp được xác định trong và áp dụng cho việc triển khai đặc tả này

14. bài kiểm tra

Thông số kỹ thuật này chứa một bộ kiểm tra cho phép các tác nhân người dùng xác minh sự tuân thủ cơ bản của họ đối với thông số kỹ thuật. Bộ kiểm tra này không giả vờ đầy đủ và không bao gồm tất cả các trường hợp kết hợp có thể có của Bộ chọn

Những bài kiểm tra này có sẵn [liên kết sắp tới]

15. Sự nhìn nhận

Thông số kỹ thuật này là sản phẩm của Nhóm làm việc W3C về Cascading Style Sheets và Formatting Properties. Ngoài các biên tập viên của đặc tả này, các thành viên của Nhóm làm việc là

  • Marc Attinasi (Netscape/AOL)
  • BertBos (W3C)
  • Tantek Çelik (Microsoft Corp. )
  • Don Day (IBM)
  • Martin Dürst (W3C)
  • Thiên thần Diaz (IBM)
  • Daniel Glazman (Netscape/AOL từ tháng 11 năm 2000 và Electricité de France cho đến tháng 2 năm 2000)
  • Håkon W. Lie (Phần mềm Opera từ tháng 4 năm 1999 và W3C cho đến tháng 4 năm 1999)
  • Chris Lilly (W3C)
  • Dave Raggett (W3C/Openwave Systems Inc. )
  • Pierre Saslawsky (Netscape/AOL)
  • Robert Stevahn (Hewlett-Packard)
  • Michel Suignard (Tập đoàn Microsoft. )
  • Ted Wugofski (Openwave Systems Inc. )
  • Steve Zilles (Adobe)

Một số chuyên gia được mời vào Nhóm làm việc có đóng góp đáng kể cho CSS3. L. David Baron, Tim Boland (NIST), Todd Fahrner, Daniel Glazman, Ian Hickson, Eric Meyer (Nhóm OPAL), Jeff Veen

Các thành viên cũ của Tổ công tác

  • Chris Brichford (Adobe)
  • Hiệp sĩ Troy (Netscape/AOL)
  • Dwayne Dicks (SoftQuad)
  • Ian Jacobs (W3C)
  • Lorin Jurow (Quark)
  • Sho Kuwamoto (Macromedia)
  • Peter Linss (Netscape/AOL)
  • Steven Pemberton (CWI)
  • Robert Pernett (Hoa sen)
  • Douglas Rand (SGI)
  • Nisheeth Ranjan (Netscape/AOL)
  • Ed Tecot (Tập đoàn Microsoft. )
  • Jared Sorensen (Tiểu thuyết)
  • Mike Wexler (Adobe)
  • John Williams (Quark)
  • Chris Wilson (Tập đoàn Microsoft. )

Chúng tôi cảm ơn tất cả họ (các thành viên, các chuyên gia được mời và các thành viên cũ) vì những nỗ lực của họ

Tất nhiên, tài liệu này bắt nguồn từ Đề xuất CSS cấp 1 và CSS cấp 2. Chúng tôi cảm ơn tất cả các tác giả, biên tập viên và cộng tác viên CSS1 và CSS2

Tiến sĩ. Hasan Ali Çelik đề xuất cú pháp đơn giản và mạnh mẽ của lập luận cho. nth-child() trong khi Nhóm làm việc đang xem xét các giải pháp phức tạp hơn nhiều

Các cuộc thảo luận trên www-style@w3. org đã có ảnh hưởng trong nhiều vấn đề quan trọng. Đặc biệt, chúng tôi xin cảm ơn Ian Graham, David Baron, Björn Höhrmann, fantasai, Jelks Cabanis và Matthew Brealey vì sự tham gia tích cực và hữu ích của họ