Skip to main content

Module container_query

Module container_query 

Source
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§

ContainerSize
問い合わせコンテナの寸法(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 🔒
先頭のキーワードを取り除いた残りを返す。