CSS @supports 规則

定義と使用方法

CSS @supports ルールは、ブラウザが特定の CSS 特性をサポートしているかどうかをテストし、サポートしていない場合に代替スタイルを定義するために使用されます。

ブラウザが display: grid をサポートしている場合に以下を適用します: @supports ルール内の CSS。サポートしていない場合は、以下を適用します: @supports ルール外の .container クラスのスタイル:

/* ブラウザが display: grid をサポートしていない場合にこの CSS を使用します */
.container {
  display: table;
  width: 90%;
  background-color: #2196F3;
  padding: 10px;
}
/* ブラウザが display: grid をサポートしている場合にこの CSS を使用します */
@supports (display: grid) {
  .container {
    display: grid;
    grid: auto;
    grid-gap: 10px;
    background-color: #2196F3;
    padding: 10px;
  }
}

自分で試してみる

CSS 语法

@supports (supports-condition) {
  /* 条件が真の場合にこの CSS を適用します */
}

属性値

説明
supports-condition

名前-値対(property: value)または function() 语法で表される条件を定義します。

条件は and、or、または not で組み合わせられます。

selector()

function() 语法です。指定された選択子構文がブラウザでサポートされているか確認します。

例えば、@supports selector(h2 > p) でブラウザが子組み合わせ子をサポートしている場合、true を返し、CSS スタイルを適用します。

font-tech()

function() 语法です。指定されたフォント技術がブラウザでサポートされているか確認します。

例えば、@supports font-tech(color-svg) でブラウザが SVG 多色テーブルをサポートしている場合、true を返し、CSS スタイルを適用します。

font-format()

function() 语法です。指定されたフォント形式がブラウザでサポートされているか確認します。

例えば、@supports font-format(woff) でブラウザが WOFF 1.0 をサポートしている場合、true を返し、CSS スタイルを適用します。

ブラウザのサポート

テーブルの数字は、@ 规則を完全にサポートする最初のブラウザのバージョンを示しています。

@ 规則 Chrome Edge Firefox Safari Opera
@supports 28 12 22 9 12.1
font-format() 108 108 106 17 94
font-tech() 108 108 106 17 94
selector() 83 83 69 14.1 69