Enums§
- CssItem 🔒
Functions§
- media_
query_ matches - トップレベルの CSS ブロックを
{/}の深さを追跡して正しく分割する @media クエリが現在のビューポートにマッチするか評価。 - parse_
counter_ 🔒style_ def @counter-style <name> { system: cyclic|numeric; symbols: a b c; suffix: ". "; }をパースする。symbolsはクォート付き文字列("a" "b")またはクォート無し空白区切り両方を許容する。system未指定はcyclic扱い。negative/range/pad/prefix/fallbackは非対応で無視。- parse_
css - parse_
css_ 🔒declarations - @media ブロック内の CSS を再帰的にパースして Rule リストを返す。
- parse_
css_ 🔒internal - parse_
css_ with_ layers - parse_
declaration_ 🔒list name: value; ...形式の宣言リストをパース(!important 対応)。- parse_
font_ 🔒face_ def @font-face { font-family: 'X'; src: url(a) format('woff2'), url(b) format('truetype'); }の 宣言ブロックからfont-family名と、読込可能な形式(TTF/OTF)を優先したURLを1件抽出する。- parse_
keyframes 🔒 - @keyframes ブロックの中身(
0% { ... } 50% { ... } to { ... })をパース。 - resolve_
or_ 🔒add_ layer - split_
css_ 🔒blocks - split_
css_ 🔒items - strip_
css_ 🔒comments - CSSコメント
/* ... */を除去する。 バイト単位でコメント区切り(/*/*/、いずれも1バイトASCII)だけを検出し、それ以外の バイトはそのままコピーする。UTF-8の継続バイト(0x80-0xBF)がASCIIの//*と衝突すること は無いため、この方式でマルチバイト文字(絵文字や★等)を破壊せずに処理できる。 旧実装はbytes[i] as charで1バイトずつchar化しており、マルチバイト文字が Latin-1的に誤変換される致命的なバグがあった(例:★(E2 98 85) → ‘â’ + 制御文字2つ)。 - supports_
condition_ matches @supports <condition>の真偽を判定する。not/and/orの論理結合は 実際に評価するが、葉の(property: value)/selector(...)自体は 「このエンジンが構文解析できる宣言は常に対応している」扱いとする簡略方針 (media_query_matchesの「未知のクエリは通過」方針と対になる設計)。