lighting-color

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

lighting-color CSS 屬性定義了 SVG <filter><feDiffuseLighting><feSpecularLighting> SVG 光照濾鏡原語的光源顏色。如果存在,它會覆蓋元素的 lighting-color 屬性。

注意: lighting-color 屬性僅適用於巢狀在 <svg> 中的 <feDiffuseLighting><feSpecularLighting> 元素。它不適用於其他 SVG、HTML 或偽元素。

語法

css
/* <color> values */
lighting-color: red;
lighting-color: hsl(120deg 75% 25% / 60%);
lighting-color: currentColor;

/* Global values */
lighting-color: inherit;
lighting-color: initial;
lighting-color: revert;
lighting-color: revert-layer;
lighting-color: unset;

<color>

光照的顏色。這可以是任何有效的 CSS <color> 值。

正式定義

初始值white
應用於<feDiffuseLighting><feSpecularLighting> 元素在 <svg>
繼承性
計算值同指定值
動畫型別由計算值

正式語法

lighting-color = 
<color>

示例

定義濾鏡光照的顏色

此示例演示了 lighting-color 的基本用例,以及 CSS lighting-color 屬性如何優先於 lighting-color 屬性。

HTML

我們有一個 SVG,其中包含兩個 <filter> 元素,一個帶有 <feDiffuseLighting> 子元素,另一個帶有 <feSpecularLighting> 子元素。每個都包含 SVG lighting-color 屬性,將光照顏色定義為 red。這兩個子元素都帶有一個 <fePointLight>,這是設定光源的必需子元素。我們包含了兩個帶有濾鏡屬性的 <rect> 元素;這是濾鏡將顯示的位置。

html
<svg viewBox="0 0 420 120" xmlns="http://www.w3.org/2000/svg">
  <filter id="flood1">
    <feDiffuseLighting lighting-color="red">
      <fePointLight x="75" y="30" z="10" />
    </feDiffuseLighting>
  </filter>
  <filter id="flood2">
    <feSpecularLighting specularExponent="5" lighting-color="red">
      <fePointLight x="225" y="75" z="5" />
    </feSpecularLighting>
  </filter>

  <rect id="r1" filter="url(#flood1)" />
  <rect id="r2" filter="url(#flood2)" />
</svg>

CSS

我們使用 CSS heightwidthxy 屬性定義 <rect> 的大小和位置。我們還在 SVG 中添加了一個背景影像,以使任何顏色 alpha 透明度更明顯。

css
svg {
  background-image: repeating-linear-gradient(
    45deg,
    transparent 0 9px,
    #cccccc 0px 10px
  );
}

rect {
  width: 100px;
  height: 100px;
  x: 10px;
  y: 10px;
}

#r2 {
  x: 150px;
}

然後,我們使用 CSS lighting-color 屬性將不同的光照顏色值應用於濾鏡的子元素。我們使用了命名顏色和三位十六進位制顏色,但我們可以使用任何有效的 CSS 顏色語法。

css
feDiffuseLighting {
  lighting-color: blue;
}

feSpecularLighting {
  lighting-color: #ff0099;
}

結果

屬性將兩個光濾鏡的顏色定義為 red,但這些值被 CSS lighting-color 值覆蓋了。

規範

規範
濾鏡效果模組第 1 級
# LightingColorProperty

瀏覽器相容性

另見