跳到內容
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 設定檔下可確定性通過。
claimedsrc/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 且預設開啟:

  • Subgridcss_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-lrcss_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_11CR已驗證
CSS 格線版面配置(css_grid_11REC已驗證
CSS 格線版面配置 — Subgrid(css_grid_22CR已宣稱
CSS 格線版面配置 — Masonry(css_grid_33ED不支援
CSS Display 顯示(css_display_33CR已宣稱
CSS Display 顯示(css_display_44ED未知
CSS 定位版面配置(css_position_33WD已驗證
CSS 定位版面配置(css_position_44ED未知
CSS 盒子對齊(css_align_33WD已宣稱
CSS 盒子尺寸(css_sizing_33CR已宣稱
CSS 盒子尺寸(css_sizing_44ED未知
CSS 盒模型(css_box_33WD已宣稱
CSS 盒模型(css_box_44ED未知
CSS 多欄版面配置(css_multicol_11CR已宣稱
CSS 多欄版面配置(css_multicol_22ED未知
CSS 分段(Fragmentation)(css_break_33CR已驗證
CSS 分段(Fragmentation)(css_break_44ED未知
CSS Containment 內容約束(css_contain_11REC不支援
CSS Containment 內容約束 — @containercss_contain_22CR已宣稱
CSS Containment 內容約束(css_contain_33ED不支援
CSS 行內版面配置(css_inline_33WD已宣稱
CSS 邏輯屬性(css_logical_11WD已宣稱
CSS Page Floats 分頁浮動(css_page_floats_33ED不支援
CSS 分頁範本(css_page_templates_33ED不支援
CSS Exclusions 排除(css_exclusions_11WD不支援
CSS Regions 區域(css_regions_11WD不支援
CSS 範本版面配置(css_template_11NOTE不支援
CSS Layout API 版面配置 API(css_layout_api_11WD不支援
W3C 模組等級W3C 階段狀態可信度
CSS 背景與邊框(css_backgrounds_33CR已宣稱
CSS 背景(css_backgrounds_44ED未知
CSS 邊框與盒子裝飾(css_borders_44ED未知
CSS Gap 裝飾(css_gaps_11ED未知
CSS 遮罩(Masking)(css_masking_11CR不支援
CSS 陰影模組(css_shadow_11ED已宣稱
CSS Shapes 形狀(css_shapes_11CR不支援
CSS Shapes 形狀(css_shapes_22ED不支援
Filter Effects 濾鏡效果(filter_effects_11WD不支援
Filter Effects 濾鏡效果(filter_effects_22ED不支援
合成與混合(compositing_11CR已宣稱
合成(Compositing)(compositing_22ED未知
CSS 填色與描邊(fill_stroke_33ED未知
Geometry Interfaces 幾何介面(geometry_11CR不支援
DOMMatrix 矩陣(matrix1NOTE不支援
Motion Path 運動路徑(motion_11WD不支援
W3C 模組等級W3C 階段狀態可信度
CSS 字型(css_fonts_33REC已驗證
CSS 字型(css_fonts_44CR已驗證
CSS 字型(css_fonts_55ED未知
CSS 字型載入(css_font_loading_33WD不支援
CSS 文字(css_text_33CR已宣稱
CSS 文字(css_text_44ED已宣稱
CSS 文字裝飾(css_text_decor_33CR已宣稱
CSS 文字裝飾(css_text_decor_44ED未知
CSS Ruby 注音標示(css_ruby_11WD不支援
CSS 書寫模式(css_writing_modes_33REC已宣稱
CSS 書寫模式(css_writing_modes_44ED未知
CSS Speech 語音(css_speech_11CR不支援
CSS 行動裝置文字大小調整(css_size_adjust_11ED不支援
W3C 模組等級W3C 階段狀態可信度
CSS 色彩(css_color_33REC已宣稱
CSS 色彩(css_color_44CR已宣稱
CSS 色彩(css_color_55WD未知
CSS 色彩(css_color_66ED未知
CSS 色彩調整(css_color_adjust_11CR不支援
CSS 色彩 HDR(css_color_hdr_11ED不支援
CSS 影像(css_images_33CR已宣稱
CSS 影像(css_images_44ED未知
CSS 影像(css_images_55ED未知
CSS 影像動畫(css_image_animation_11ED不支援
W3C 模組等級W3C 階段狀態可信度
CSS 選擇器(selectors_33REC已宣稱
CSS 選擇器(selectors_44WD已宣稱
CSS 選擇器(selectors_55ED未知
CSS 非元素選擇器(selectors_nonelement_11WD不支援
CSS 虛擬元素(css_pseudo_44WD已宣稱
CSS Cascading(層疊與繼承)(css_cascade_33REC已驗證
CSS Cascading 層疊(css_cascade_44CR已驗證
CSS Cascading 層疊(css_cascade_55CR已驗證
CSS Cascading 層疊(css_cascade_66WD未知
CSS 值與單位(css_values_33REC已宣稱
CSS 值與單位(css_values_44CR已宣稱
CSS 值與單位(css_values_55ED未知
CSS 自訂屬性(css_variables_11CR已宣稱
CSS 自訂屬性(css_variables_22ED未知
CSS 條件規則(css_conditional_33CR已宣稱
CSS 條件規則(css_conditional_44ED未知
CSS 條件規則(css_conditional_55ED未知
CSS 條件值(css_conditional_values_11ED未知
CSS Namespaces 命名空間(css_namespaces_33REC已宣稱
CSS Style 屬性(css_style_attr_11CR已宣稱
CSS 語法(css_syntax_33CR已宣稱
CSS Nesting 巢狀(css_nesting_11CR已宣稱
CSS 環境變數(css_env_11ED不支援
CSS 自訂函式與 Mixin(css_mixins_11ED未知
CSS Extensions 擴充(css_extensions_11NOTE未知
W3C 模組等級W3C 階段狀態可信度
CSS 清單與計數器(css_lists_33WD已宣稱
CSS 計數器樣式(css_counter_styles_33CR已宣稱
CSS 產生內容(css_content_33WD已宣稱
CSS 分頁媒體產生內容(css_gcpm_33WD已宣稱
CSS 分頁媒體產生內容(css_gcpm_44ED未知
W3C 模組等級W3C 階段狀態可信度
CSS 分頁媒體(css_page_33WD已宣稱
CSS 分頁媒體(css_page_44NOTE未知
CSS 列印設定檔(css_print1NOTE已宣稱
CSS 簡報層級(css_preslev_11NOTE不支援
W3C 模組等級W3C 階段狀態可信度
CSS 溢位(css_overflow_33WD已宣稱
CSS 溢位(css_overflow_44ED未知
CSS 溢位(css_overflow_55ED未知
CSS Overscroll 行為(css_overscroll_11CR不支援
CSS 捲動錨定(css_scroll_anchoring_11WD不支援
CSS Scroll Snap 捲動貼齊(css_scroll_snap_11REC不支援
CSS Scroll Snap 捲動貼齊(css_scroll_snap_22WD不支援
CSS 捲軸樣式(css_scrollbars_11CR不支援
CSS 基本使用者介面(css_ui_33REC不支援
CSS 基本使用者介面(css_ui_44WD不支援
CSS 表單控制項樣式(css_forms_11ED不支援
CSS View Transitions 檢視轉場(css_view_transitions_11WD不支援
CSS View Transitions 檢視轉場(css_view_transitions_22ED不支援
CSS 空間導覽(css_nav_11NOTE不支援
CSS Route Matching 路由比對(css_navigation_11ED不支援
W3C 模組等級W3C 階段狀態可信度
CSS 表格(css_tables_33WD已驗證
W3C 模組等級W3C 階段狀態可信度
CSS Transforms 變形(css_transforms_11CR已宣稱
CSS Transforms 變形(css_transforms_22ED未知
CSS 動畫(css_animations_11WD不支援
CSS 動畫(css_animations_22ED不支援
CSS 轉場(css_transitions_11WD不支援
CSS 轉場(css_transitions_22ED不支援
CSS Easing 函式(css_easing_11CR不支援
CSS Easing 函式(css_easing_22ED不支援
Web Animations 網頁動畫(web_animations_11WD不支援
Web Animations 網頁動畫(web_animations_22ED不支援
Web Animations CSS 整合(web_animations_css_integration1ED不支援
Animation Triggers 動畫觸發(animation_triggers1ED不支援
指標驅動動畫(pointer_animations_11ED不支援
捲動驅動動畫(scroll_animations_11ED不支援
CSS Animation Worklet 動畫 Worklet(css_animation_worklet1ED不支援
W3C 模組等級W3C 階段狀態可信度
CSS 錨點定位(css_anchor_position_11WD未知
CSS 錨點定位(css_anchor_position_22ED未知
CSS Highlight API 標示 API(css_highlight_api_11WD不支援
CSS Properties and Values API 屬性與值 API(css_properties_values_api_11CR不支援
CSS Painting API 繪製 API(css_paint_api_11WD不支援
CSS Typed OM 型別化 OM(css_typed_om_11WD不支援
CSSOM(cssom_11WD不支援
CSSOM View 檢視(cssom_view_11WD不支援
CSS Will Change 變更預示(css_will_change_11CR不支援
CSS Linked Parameters 連結參數(css_link_params_11ED未知
CSS Line Grid 行格線(css_line_grid_11NOTE未知
CSS Rhythmic Sizing 節奏尺寸(css_rhythm_11ED未知
CSS Round Display 圓形顯示(css_round_display_11ED不支援
CSS Shaders 著色器(css_shaders_11NOTE不支援
CSS Viewport 檢視區(css_viewport_11NOTE不支援
W3C 模組等級W3C 階段狀態可信度
媒體查詢(mediaqueries_33REC已宣稱
媒體查詢(mediaqueries_44CR已宣稱
媒體查詢(mediaqueries_55WD未知
W3C 模組等級W3C 階段狀態可信度
CSS Level 2 第二級(css_2_12.1REC已宣稱
CSS Level 2.2 基準(css_2_22.2NOTE已宣稱
CSS Snapshot 2026 快照(css_snapshot_2026快照NOTE已宣稱

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

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

若要讓某一列從 claimedverified

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

若要讓某一列從 unknownclaimed

  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