新的範圍媒體查詢語法

瞭解這項新語法如何簡化媒體查詢。

媒體查詢可啟用回應式設計,而用於測試可視區域最小和最大大小的範圍功能,則是使用媒體查詢的網站約 80% 都會用到的功能。媒體查詢第 4 級規格包含這些範圍查詢的改善語法。

瀏覽器支援

  • Chrome:104。
  • Edge:104。
  • Firefox:102。
  • Safari:16.4。

資料來源

以下範例說明如何簡化查詢。

典型的媒體查詢會測試檢視區的最小寬度,其寫法如下:

@media (min-width: 400px) {
  // Styles for viewports with a width of 400 pixels or greater.
}

新的語法允許使用比較運算子:

@media (width >= 400px) {
  // Styles for viewports with a width of 400 pixels or greater.
}

測試最大寬度:

@media (max-width: 30em) {
  // Styles for viewports with a width of 30em or less.
}

接著使用等級 4 語法的版本:

@media (width <= 30em) {
  // Styles for viewports with a width of 30em or less.
}

這個語法可讓查詢更有效率,特別是在測試兩個寬度之間時。在下列範例中,媒體查詢會針對可視區域進行測試,可視區域的最小寬度為 400 像素,最大寬度為 600 像素。

@media (min-width: 400px) and (max-width: 600px) {
  // Styles for viewports between 400px and 600px.
}

這段程式碼可改用新語法重新編寫為:

@media (400px <= width <= 600px )  {
  // Styles for viewports between 400px and 600px.
}

您正在測試的功能 (在此案例中為 width) 會在兩個值之間進行。

除了讓媒體查詢更精簡之外,新語法也有精確的優點。min-max- 查詢包含指定的值,例如 min-width: 400px 會測試寬度為 400 像素或更大的寬度。新的語法可讓您更明確表達自己的意思,並避免可能發生的查詢衝突。

如要使用新的範圍語法,同時考量尚未導入這項功能的瀏覽器,可以使用 PostCSS 外掛程式,將樣式表中的新語法重寫為舊語法。