Expand description
CSS コンテナクエリ(@container)の条件評価(純粋モジュール)。
@media との決定的な違いは基準がビューポートではなくコンテナである
こと。@media はグローバルなビューポート寸法を見ればよいが、
@container は「その要素にとっての問い合わせコンテナ」の寸法に依存する
ため、評価にはコンテナ寸法を引数で渡す必要がある。
グローバル状態に触らないので、ホスト側から検証できる。
§対応する構文
@container (min-width: 400px)@container (width > 400px)… レンジ構文@container card (min-width: 400px)… 名前付きコンテナand/or/notの論理結合
§未対応(意図的)
- スタイルクエリ(
@container style(--foo: bar)) inline-size/block-sizeの書字方向依存(横書き前提でwidth/heightと同一視する)aspect-ratio/orientation
Structs§
- Container
Size - 問い合わせコンテナの寸法(px)。
Functions§
- condition_
matches - 条件式がコンテナ寸法に対して真かを判定する。
- eval_
single 🔒 - 単一条件(
min-width: 400px/width > 400px等)を評価する。 - parse_
px 🔒 400px/400を px として読む。解釈できなければNone。- split_
name_ and_ condition @containerのプレリュードを「コンテナ名」と「条件式」へ分ける。- split_
top_ 🔒level - 括弧の深さを考慮してトップレベルの区切りで分割する。区切りが無ければ
None。 - starts_
with_ 🔒kw - 先頭がキーワード(後ろに空白か
(が続く)か。 - strip_
ci_ 🔒prefix - 大文字小文字を無視して前置詞を剥がす。
min-width :のような空白も許容。 - strip_
kw_ 🔒prefix - 先頭のキーワードを取り除いた残りを返す。