blur()

Baseline 已廣泛支援

此特性已非常成熟,可在多種裝置和瀏覽器版本上使用。自 ⁨2016 年 9 月⁩以來,它已在各大瀏覽器中可用。

blur() CSS 函式對輸入影像應用高斯模糊。它的結果是<filter-function>

試一試

filter: blur(0);
filter: blur(4px);
filter: blur(1.5rem);
<section id="default-example">
  <img
    class="transition-all"
    id="example-element"
    src="/shared-assets/images/examples/firefox-logo.svg"
    width="200" />
</section>

語法

css
blur()         /* No effect */
blur(0)        /* No effect */

blur(8px)      /* Blur with 8px radius */
blur(1.17rem)  /* Blur with 1.17rem radius */

引數

<length> 可選

指定模糊半徑。它定義了高斯函式的標準差值,即螢幕上有多少畫素相互融合。因此,值越大,模糊程度越高。值為 0 時,輸入保持不變。插值的初始值為 0。百分比值無效。預設值為 0

SVG 濾鏡

SVG <feGaussianBlur> 濾鏡元素也可用於模糊內容。該濾鏡的 stdDeviation 屬性最多接受兩個值,可以建立更復雜的模糊值。要建立等效的模糊,我們為 stdDeviation 包含一個值。然後可以透過 ID 引用此 SVG 效果

html
<svg role="none">
  <filter id="blur11">
    <feGaussianBlur stdDeviation="1.1" edgeMode="duplicate" />
  </filter>
</svg>

以下宣告產生相同的效果

css
filter: blur(1.1px);
filter: url("#blur11"); /* with embedded SVG */
filter: url("folder/fileName.svg#blur11"); /* external svg filter definition */

正式語法

<blur()> = 
blur( <length>? )

示例

此示例顯示了三張影像:應用了 blur() 濾鏡函式的影像、應用了等效 SVG 模糊函式的影像以及用於比較的原始影像

css
.filter {
  filter: blur(3.5px);
}
html
<svg role="img" aria-label="Flag">
  <filter id="blur">
    <feGaussianBlur stdDeviation="3.5" edgeMode="duplicate" />
  </filter>
  <image
    href="https://mdn.github.io/shared-assets/images/examples/progress-pride-flag.jpg"
    xlink:href="https://mdn.github.io/shared-assets/images/examples/progress-pride-flag.jpg"
    filter="url('#blur')" />
</svg>

規範

規範
濾鏡效果模組第 1 級
# funcdef-filter-blur

瀏覽器相容性

另見