flood-opacity

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Die flood-opacity CSS-Eigenschaft definiert die Deckkraft der aktuellen Filter-Primärregion in <feFlood> und <feDropShadow>-Elementen innerhalb eines <filter>. Wenn vorhanden, überschreibt sie das flood-opacity-Attribut des Elements.

Der Eigenschaftswert beeinflusst den Alpha-Kanal des flood-color; es kann die Transparenz einer flood-color erhöhen, aber nicht die durch die flood-color-Eigenschaft definierte Farbe undurchsichtiger machen.

Hinweis: Die flood-opacity-Eigenschaft gilt nur für <feFlood> und <feDropShadow>-Elemente, die in einem <svg> verschachtelt sind. Sie gilt nicht für andere SVG-, HTML- oder Pseudo-Elemente.

Syntax

css
/* numeric and percentage values */
flood-opacity: 0.2;
flood-opacity: 20%;

/* Global values */
flood-opacity: inherit;
flood-opacity: initial;
flood-opacity: revert;
flood-opacity: revert-layer;
flood-opacity: unset;

Werte

Das <opacity-value> ist eine <number> oder <percentage>, die die Deckkraft des SVG-Verlaufs-<flood>-Elements angibt.

<number>

Ein numerischer Wert zwischen 0 und 1, einschließlich.

<percentage>

Ein Prozentwert zwischen 0% und 100%, einschließlich.

Mit 0 oder 0% eingestellt, ist die Flut vollständig transparent. Mit 1 oder 100% eingestellt, hat das Element die volle Deckkraft des flood-color-Werts, der möglicherweise teilweise undurchsichtig ist oder nicht.

Formale Definition

Anfangswertblack
Anwendbar auf<feFlood> and <feDropShadow> elements in <svg>
VererbtNein
Berechneter Wertder angegebene Wert, auf den Bereich [0,1] abgeschnitten
Animationstypby computed value

Formale Syntax

flood-opacity = 
<'opacity'>

<opacity> =
<opacity-value>

<opacity-value> =
<number> |
<percentage>

Beispiele

Definieren der Flutdeckkraft eines Filters

Dieses Beispiel demonstriert die grundlegende Verwendung von flood-opacity und wie die CSS-flood-opacity-Eigenschaft Vorrang vor dem flood-opacity-Attribut hat.

HTML

Wir haben ein SVG mit einigen <filter>-Elementen, jedes mit einem <feFlood>-Kind. Die <feFlood> definieren die Filter als seagreen, wobei das erste durch sein flood-opacity-Attribut als vollständig undurchsichtig deklariert ist und das zweite vollständig transparent ist. Wir haben zwei <rect>-Elemente eingefügt, jedes mit einem Filter-Attribut.

html
<svg viewBox="0 0 420 120" xmlns="http://www.w3.org/2000/svg">
  <filter id="flood1">
    <feFlood flood-color="seagreen" flood-opacity="1" />
  </filter>
  <filter id="flood2">
    <feFlood flood-color="seagreen" flood-opacity="0" />
  </filter>

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

CSS

Wir definieren die height, width, x, und y, Positionierung unserer Rechtecke mit CSS und fügen einen sich wiederholenden linearen Verlauf als background-image auf das SVG, damit die Deckkraft der flood-color deutlicher wird:

css
svg {
  background-image: repeating-linear-gradient(
    45deg,
    transparent 0 9px,
    #ccc 0px 10px
  );
}
rect {
  width: 100px;
  height: 100px;
  x: 10px;
  y: 10px;
}
#r2 {
  x: 150px;
}

Dann wenden wir unterschiedliche Flutdeckkraftwerte auf die <feFlood>-Elemente mit der CSS-flood-opacity: Eigenschaft an:

css
#flood1 feFlood {
  flood-opacity: 0.5;
}
#flood2 feFlood {
  flood-opacity: 90%;
}

Ergebnisse

Die Attribute definierten das erste Quadrat als vollständig undurchsichtig und das zweite als vollständig transparent, aber diese Werte wurden durch die CSS-flood-opacity-Werte überschrieben. Die seagreen-Filter sind jeweils 50% und 90% undurchsichtig.

Spezifikationen

Specification
Filter Effects Module Level 1
# FloodOpacityProperty

Browser-Kompatibilität

Siehe auch