跳到內容
getnextpdf.com

CSS 支援對照表

NextPDF 依 W3C 已發布規範實作 CSS 渲染。本頁逐一列出 NextPDF 規範語料庫中的每個 CSS 模組,並記錄各模組在渲染管線中經真實稽核的支援狀態。

本修訂版是 Wave 4 B2 真實稽核(plan 第 4.4 節)的成果。先前結構性修訂版中的徽章只是未經驗證的 placeholder(佔位符)。本頁每一列都依磁碟上的實際證據(src/Html/、tests/、tests/Wpt/corpus/)、v8/v9 破壞性變更的 ADR,以及內部 CSS 屬性覆蓋稽核重新評定。誠實優先於覆蓋率:若稽核結果需要調降某個徽章,就如實調降。

依驗證契約,每一列以四種徽章分類:

  • Verified — 同時具備 src/Html/ 的實作,以及一份實質的專屬自動化 fixture:tests/Unit/Html/<Module>/ 下三個以上檔案的屬性層級套件,或 tests/Wpt/corpus/ 下五十個以上 fixture 的 Web Platform Tests 語料分片。目前尚未接上逐 CSS 模組的黃金 PDF 基準,因此 verified 列採用 structural 可重現性設定檔(PHPUnit 斷言等價),絕不採用 bitwise。
  • Claimed — 模組行為已在 src/Html/ 實作(並引用原始碼路徑),但專屬 fixture 過於單薄、與其他模組共用,或根本不存在。每個有具體實作的 claimed 列都有對應的回補(backfill)issue。
  • Not supported — 不在靜態 PDF 渲染管線的範圍內。執行階段或僅限瀏覽器的 API、scrolling/animation 執行階段,以及 W3C 已停止的工作,都屬於此類。原因已記錄在案。
  • Unknown — 模組存在於語料庫中,但無法判定任何實作或測試夾具(fixture)證據。稽核絕不為了拉高數字而向上臆測。

結構性修訂版的 partial 徽章已廢止:每個原本的 partial 列都重新評定為 claimed(有實作、無專屬 fixture)或 verified。

徽章意義
verifiedsrc/Html/ + 專屬 fixture 套件(≥3 個檔案)或 WPT 分片(≥50 個 fixture);在 structural 設定檔下可確定性通過。
claimed在 src/Html/ 有實作證據,但無專屬 fixture。已建立回補 issue 進行追蹤。
not-supported明確排除於靜態 PDF 範圍之外。原因已記錄。
unknown無可判定的證據。未向上臆測。

本表的 Confidence 欄會對所述徽章的證據強度提供誠實、非二元的訊號(high / medium / low),並與徽章本身分開判斷。

NextPDF 依下列各列註明的等級支援這些 CSS 模組。Verified 列具備專屬自動化 fixture 套件或實質的 WPT 語料分片,會對 NextPDF 行為做斷言,並在 structural 可重現性設定檔下確定性通過。Claimed 列在 src/Html/ 有實作證據,但尚無專屬 fixture;每一列都由 tracking issue #614 下的回補 issue 追蹤。Not supported 列記錄靜態 PDF 目標的明確範圍邊界。

本修訂版沒有逐 CSS 模組的黃金 PDF 基準;沒有任何一列宣稱達到位元組層級的可重現性。驗證契約不允許空白列 — 凡是無法判定支援狀態的列,一律標為 unknown。

狀態模組可信度(高 / 中 / 低)
已驗證128 / 4 / 0
已宣稱490 / 35 / 14
不支援6762 / 5 / 0
未知390 / 0 / 39
總計16770 / 44 / 53

結構性修訂版的 summary 區塊本身存在前後不一致:它宣稱總數 148(18 verified / 11 partial / 11 claimed / 53 not-supported / 55 unknown),但檔案實際包含 167 個模組列,其中標籤合計為 34 verified / 13 partial / 13 claimed / 68 not-supported / 39 unknown。本次稽核將總數更正為實際的 167,並依磁碟上的實際證據重新評定每一列:Verified 從宣稱的 34 降為具實證的 12。這個下降是誠實稽核應有的正確結果,而非倒退。完整的 before/after 差異記錄於 repo 內的 _css-matrix-truth-report.md 附帶檔。

結構性修訂版曾將三項仍在運作的能力誤標為已移除或不支援。ADR-027 與 ADR-028 僅移除 ExperimentalFeature enum 的選用標記;能力本身仍維持 LIVE 且預設開啟:

  • Subgrid(css_grid_2)— LIVE;CssFeatureFlags::$layoutSubgrid 預設開啟。曾被誤標為「subgrid hard-removed v9.0.0」。
  • @container 查詢(css_contain_2)— ADR-028 明確未更動其執行階段派發;旗標的退出選項保留。曾被誤標為「hard-removed v9.0.0」。
  • writing-mode: vertical-lr(css_writing_modes_3)— 自 v7.0.0 起即預設開啟且穩定;ADR-027 只是讓棄用交握畢業。曾被誤標為「deprecated/removed v8.0.0」。

可由機器讀取的逐模組資料列存放在 repo 內的 css-support-matrix-data.yaml,並作為真實來源。本頁是供人閱讀的呈現版本,依類別分組。Astro 元件在文件建置時直接讀取該 YAML。

W3C 模組等級W3C 階段狀態可信度
CSS 彈性盒子版面配置(css_flexbox_1)1CR已驗證高
CSS 格線版面配置(css_grid_1)1REC已驗證高
CSS 格線版面配置 — Subgrid(css_grid_2)2CR已宣稱中
CSS 格線版面配置 — Masonry(css_grid_3)3ED不支援高
CSS Display 顯示(css_display_3)3CR已宣稱中
CSS Display 顯示(css_display_4)4ED未知低
CSS 定位版面配置(css_position_3)3WD已驗證高
CSS 定位版面配置(css_position_4)4ED未知低
CSS 盒子對齊(css_align_3)3WD已宣稱中
CSS 盒子尺寸(css_sizing_3)3CR已宣稱低
CSS 盒子尺寸(css_sizing_4)4ED未知低
CSS 盒模型(css_box_3)3WD已宣稱中
CSS 盒模型(css_box_4)4ED未知低
CSS 多欄版面配置(css_multicol_1)1CR已宣稱中
CSS 多欄版面配置(css_multicol_2)2ED未知低
CSS 分段(Fragmentation)(css_break_3)3CR已驗證中
CSS 分段(Fragmentation)(css_break_4)4ED未知低
CSS Containment 內容約束(css_contain_1)1REC不支援中
CSS Containment 內容約束 — @container(css_contain_2)2CR已宣稱低
CSS Containment 內容約束(css_contain_3)3ED不支援中
CSS 行內版面配置(css_inline_3)3WD已宣稱中
CSS 邏輯屬性(css_logical_1)1WD已宣稱中
CSS Page Floats 分頁浮動(css_page_floats_3)3ED不支援高
CSS 分頁範本(css_page_templates_3)3ED不支援高
CSS Exclusions 排除(css_exclusions_1)1WD不支援高
CSS Regions 區域(css_regions_1)1WD不支援高
CSS 範本版面配置(css_template_1)1NOTE不支援高
CSS Layout API 版面配置 API(css_layout_api_1)1WD不支援高
W3C 模組等級W3C 階段狀態可信度
CSS 背景與邊框(css_backgrounds_3)3CR已宣稱中
CSS 背景(css_backgrounds_4)4ED未知低
CSS 邊框與盒子裝飾(css_borders_4)4ED未知低
CSS Gap 裝飾(css_gaps_1)1ED未知低
CSS 遮罩(Masking)(css_masking_1)1CR不支援中
CSS 陰影模組(css_shadow_1)1ED已宣稱中
CSS Shapes 形狀(css_shapes_1)1CR不支援高
CSS Shapes 形狀(css_shapes_2)2ED不支援高
Filter Effects 濾鏡效果(filter_effects_1)1WD不支援高
Filter Effects 濾鏡效果(filter_effects_2)2ED不支援高
合成與混合(compositing_1)1CR已宣稱中
合成(Compositing)(compositing_2)2ED未知低
CSS 填色與描邊(fill_stroke_3)3ED未知低
Geometry Interfaces 幾何介面(geometry_1)1CR不支援高
DOMMatrix 矩陣(matrix)1NOTE不支援高
Motion Path 運動路徑(motion_1)1WD不支援高
W3C 模組等級W3C 階段狀態可信度
CSS 字型(css_fonts_3)3REC已驗證中
CSS 字型(css_fonts_4)4CR已驗證高
CSS 字型(css_fonts_5)5ED未知低
CSS 字型載入(css_font_loading_3)3WD不支援高
CSS 文字(css_text_3)3CR已宣稱中
CSS 文字(css_text_4)4ED已宣稱中
CSS 文字裝飾(css_text_decor_3)3CR已宣稱中
CSS 文字裝飾(css_text_decor_4)4ED未知低
CSS Ruby 注音標示(css_ruby_1)1WD不支援高
CSS 書寫模式(css_writing_modes_3)3REC已宣稱中
CSS 書寫模式(css_writing_modes_4)4ED未知低
CSS Speech 語音(css_speech_1)1CR不支援高
CSS 行動裝置文字大小調整(css_size_adjust_1)1ED不支援高
W3C 模組等級W3C 階段狀態可信度
CSS 色彩(css_color_3)3REC已宣稱中
CSS 色彩(css_color_4)4CR已宣稱中
CSS 色彩(css_color_5)5WD未知低
CSS 色彩(css_color_6)6ED未知低
CSS 色彩調整(css_color_adjust_1)1CR不支援高
CSS 色彩 HDR(css_color_hdr_1)1ED不支援高
CSS 影像(css_images_3)3CR已宣稱中
CSS 影像(css_images_4)4ED未知低
CSS 影像(css_images_5)5ED未知低
CSS 影像動畫(css_image_animation_1)1ED不支援高
W3C 模組等級W3C 階段狀態可信度
CSS 選擇器(selectors_3)3REC已宣稱中
CSS 選擇器(selectors_4)4WD已宣稱中
CSS 選擇器(selectors_5)5ED未知低
CSS 非元素選擇器(selectors_nonelement_1)1WD不支援高
CSS 虛擬元素(css_pseudo_4)4WD已宣稱中
CSS Cascading(層疊與繼承)(css_cascade_3)3REC已驗證高
CSS Cascading 層疊(css_cascade_4)4CR已驗證高
CSS Cascading 層疊(css_cascade_5)5CR已驗證高
CSS Cascading 層疊(css_cascade_6)6WD未知低
CSS 值與單位(css_values_3)3REC已宣稱中
CSS 值與單位(css_values_4)4CR已宣稱中
CSS 值與單位(css_values_5)5ED未知低
CSS 自訂屬性(css_variables_1)1CR已宣稱中
CSS 自訂屬性(css_variables_2)2ED未知低
CSS 條件規則(css_conditional_3)3CR已宣稱中
CSS 條件規則(css_conditional_4)4ED未知低
CSS 條件規則(css_conditional_5)5ED未知低
CSS 條件值(css_conditional_values_1)1ED未知低
CSS Namespaces 命名空間(css_namespaces_3)3REC已宣稱低
CSS Style 屬性(css_style_attr_1)1CR已宣稱中
CSS 語法(css_syntax_3)3CR已宣稱中
CSS Nesting 巢狀(css_nesting_1)1CR已宣稱中
CSS 環境變數(css_env_1)1ED不支援中
CSS 自訂函式與 Mixin(css_mixins_1)1ED未知低
CSS Extensions 擴充(css_extensions_1)1NOTE未知低
W3C 模組等級W3C 階段狀態可信度
CSS 清單與計數器(css_lists_3)3WD已宣稱中
CSS 計數器樣式(css_counter_styles_3)3CR已宣稱中
CSS 產生內容(css_content_3)3WD已宣稱中
CSS 分頁媒體產生內容(css_gcpm_3)3WD已宣稱中
CSS 分頁媒體產生內容(css_gcpm_4)4ED未知低
W3C 模組等級W3C 階段狀態可信度
CSS 分頁媒體(css_page_3)3WD已宣稱中
CSS 分頁媒體(css_page_4)4NOTE未知低
CSS 列印設定檔(css_print)1NOTE已宣稱低
CSS 簡報層級(css_preslev_1)1NOTE不支援高
W3C 模組等級W3C 階段狀態可信度
CSS 溢位(css_overflow_3)3WD已宣稱低
CSS 溢位(css_overflow_4)4ED未知低
CSS 溢位(css_overflow_5)5ED未知低
CSS Overscroll 行為(css_overscroll_1)1CR不支援高
CSS 捲動錨定(css_scroll_anchoring_1)1WD不支援高
CSS Scroll Snap 捲動貼齊(css_scroll_snap_1)1REC不支援高
CSS Scroll Snap 捲動貼齊(css_scroll_snap_2)2WD不支援高
CSS 捲軸樣式(css_scrollbars_1)1CR不支援高
CSS 基本使用者介面(css_ui_3)3REC不支援中
CSS 基本使用者介面(css_ui_4)4WD不支援高
CSS 表單控制項樣式(css_forms_1)1ED不支援高
CSS View Transitions 檢視轉場(css_view_transitions_1)1WD不支援高
CSS View Transitions 檢視轉場(css_view_transitions_2)2ED不支援高
CSS 空間導覽(css_nav_1)1NOTE不支援高
CSS Route Matching 路由比對(css_navigation_1)1ED不支援高
W3C 模組等級W3C 階段狀態可信度
CSS 表格(css_tables_3)3WD已驗證高
W3C 模組等級W3C 階段狀態可信度
CSS Transforms 變形(css_transforms_1)1CR已宣稱中
CSS Transforms 變形(css_transforms_2)2ED未知低
CSS 動畫(css_animations_1)1WD不支援高
CSS 動畫(css_animations_2)2ED不支援高
CSS 轉場(css_transitions_1)1WD不支援高
CSS 轉場(css_transitions_2)2ED不支援高
CSS Easing 函式(css_easing_1)1CR不支援高
CSS Easing 函式(css_easing_2)2ED不支援高
Web Animations 網頁動畫(web_animations_1)1WD不支援高
Web Animations 網頁動畫(web_animations_2)2ED不支援高
Web Animations CSS 整合(web_animations_css_integration)1ED不支援高
Animation Triggers 動畫觸發(animation_triggers)1ED不支援高
指標驅動動畫(pointer_animations_1)1ED不支援高
捲動驅動動畫(scroll_animations_1)1ED不支援高
CSS Animation Worklet 動畫 Worklet(css_animation_worklet)1ED不支援高
W3C 模組等級W3C 階段狀態可信度
CSS 錨點定位(css_anchor_position_1)1WD未知低
CSS 錨點定位(css_anchor_position_2)2ED未知低
CSS Highlight API 標示 API(css_highlight_api_1)1WD不支援高
CSS Properties and Values API 屬性與值 API(css_properties_values_api_1)1CR不支援高
CSS Painting API 繪製 API(css_paint_api_1)1WD不支援高
CSS Typed OM 型別化 OM(css_typed_om_1)1WD不支援高
CSSOM(cssom_1)1WD不支援高
CSSOM View 檢視(cssom_view_1)1WD不支援高
CSS Will Change 變更預示(css_will_change_1)1CR不支援高
CSS Linked Parameters 連結參數(css_link_params_1)1ED未知低
CSS Line Grid 行格線(css_line_grid_1)1NOTE未知低
CSS Rhythmic Sizing 節奏尺寸(css_rhythm_1)1ED未知低
CSS Round Display 圓形顯示(css_round_display_1)1ED不支援高
CSS Shaders 著色器(css_shaders_1)1NOTE不支援高
CSS Viewport 檢視區(css_viewport_1)1NOTE不支援高
W3C 模組等級W3C 階段狀態可信度
媒體查詢(mediaqueries_3)3REC已宣稱中
媒體查詢(mediaqueries_4)4CR已宣稱中
媒體查詢(mediaqueries_5)5WD未知低
W3C 模組等級W3C 階段狀態可信度
CSS Level 2 第二級(css_2_1)2.1REC已宣稱低
CSS Level 2.2 基準(css_2_2)2.2NOTE已宣稱低
CSS Snapshot 2026 快照(css_snapshot_2026)快照NOTE已宣稱低

這些 W3C 模組出現在語料庫中,但落在 CSS 渲染管線範圍之外。在適用時,會從對應的功能頁面連結到它們。

W3C 模組W3C 階段狀態可信度其中
W3C SVG 1.1 向量圖形(svg_1_1)REC已宣稱低內嵌 SVG 繪製子集位於 Renderer/PaintCommand/;無 CSS-matrix fixture。
W3C SVG 2.0 向量圖形(svg_2_0)CR未知低屬 Premium 管線範疇;核心無證據。
W3C PNG 第 3 版(png_3)WD已宣稱低PNG 解碼位於 Graphics/ 模組(在 HTML/CSS 之外)。
W3C WOFF 1.0 網頁字型(woff_1_0)REC已宣稱低WOFF 透過 Font stack 處理;無 CSS-matrix fixture。
W3C WOFF 2.0 網頁字型(woff_2_0)REC已宣稱低WOFF2 透過 Font stack 處理;無 CSS-matrix fixture。
W3C WCAG 2.2 無障礙準則(wcag_2_2)REC已驗證中src/Html/Aam/、tests/Unit/Accessibility/HtmlAam/(4 個檔案)— PDF/UA-2。
W3C WAI-ARIA 1.2 無障礙(wai_aria_1_2)REC已驗證中tests/Unit/Accessibility/HtmlAam/(4 個檔案)。
W3C ARIA 組合(w3c_aria_bundle)REC已宣稱低指引組合;具體證據見 WAI-ARIA 那一列。
W3C AAM 組合(w3c_aam_bundle)NOTE已宣稱低組合指標;證據見 WAI-ARIA/WCAG 各列。
W3C ATAG 2.0 撰寫工具無障礙(atag_2_0)REC不支援高撰寫工具無障礙;不適用。
W3C XSL 1.1 樣式語言(xsl_1_1)REC不支援高XSL-FO 平行格式化模型;未實作。
W3C XSD 1.1 Part 1 結構描述(xsd_1_1_part1)REC不支援高XML schema;不適用。
W3C XSLT 3.0 轉換語言(xslt_3_0)REC不支援高轉換語言;不適用。
Resize Observer 尺寸觀察器(resize_observer_1)CR不支援高瀏覽器執行階段 API。

若要讓某一列從 claimed → verified:

  1. 在 tests/Unit/Html/<Module>/ 下有專屬的屬性層級 fixture 套件(≥3 個檔案),或 tests/Wpt/corpus/ 下有實質的 WPT 語料分片(≥50 個 fixture)被提升為具斷言的測試。
  2. 該 fixture 會依 W3C 文法,針對該模組的主要屬性對 NextPDF 行為做斷言。
  3. 該 fixture 會標明 NextPDF\Testing\ReproducibilityProfile(structural 用於斷言型 fixture;bitwise 僅在逐模組黃金 PDF 基準存在後採用)。
  4. 該列在 repo 內 nextpdf_status 中的 css-support-matrix-data.yaml 改為 verified,並更新 fixture_path、repro_profile、confidence。

若要讓某一列從 unknown → claimed:

  1. 一次稽核確認 src/Html/ 中有實作證據(並把路徑引用於 evidence + notes)。
  2. 開立回補 issue 並連結到 backfill_issue。
  • HTML:HTML+CSS 轉 PDF 繪製子系統 — 這些能力背後的引擎,包含表格、flex、漸層與分頁行為的說明。
  • 不支援的 CSS 功能與替代做法 — 各項行為的具體界線。
  • 繪製由右至左的阿拉伯文 HTML — 由右至左與雙向書寫的支援及其目前的邊界。
  • 讓大型 HTML 表格跨頁分頁 — 跨頁的表格分頁。
  • CSS matrix 真實稽核報告(_css-matrix-truth-report.md,repo 內)— before/after 稽核差異、可信度分布、去膨脹紀錄。
  • CSS 屬性覆蓋稽核(architecture/css-property-coverage-audit.md,repo 內)— 內部四態逐屬性稽核 (Policy/Parsed/Applied/Rendered)。
  • ADR-027 v8.0.0 BREAKING(architecture/adr/ADR-027-v8-breaking.md,repo 內)— vertical-lr 棄用交握畢業(能力保留)。
  • ADR-028 v9.0.0 BREAKING(architecture/adr/ADR-028-v9-breaking.md,repo 內)— Grid/Subgrid/@container enum 標記移除(能力保留)。
  • 回補追蹤 issue:https://github.com/nextpdf-labs/nextpdf/issues/614