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