Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

stop-opacity

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨April 2017⁩.

Die stop-opacity CSS Eigenschaft definiert die Deckkraft eines bestimmten Farbverlaufsstopps im SVG-<stop>-Element innerhalb eines SVG-Gradienten. Wenn vorhanden, überschreibt sie das stop-opacity-Attribut des Elements.

Der Eigenschaftswert wirkt sich auf den Alphakanal des stop-color aus; er kann die Transparenz der Farbe eines <stop> erhöhen, kann jedoch die durch die Eigenschaft stop-color definierte Farbe nicht undurchsichtiger machen.

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

Syntax

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

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

Werte

Der <opacity-value> ist eine <number> oder <percentage>, die die Deckkraft des <stop>-Elements eines SVG-Gradienten angibt.

<number>

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

<percentage>

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

Bei der Einstellung von 0 oder 0% ist der Stopp vollständig transparent. Mit der Einstellung von 1 oder 100% ist das Element die volle Deckkraft des stop-color-Werts, was teilweise undurchsichtig sein kann oder auch nicht.

Offizielle Definition

Anfangswertblack
Anwendbar auf<stop> elements in <svg>
VererbtNein
Berechneter Wertwie angegeben
Animationstypdiskret

Offizielle Syntax

stop-opacity = 
<number> |
<percentage>

Beispiele

Die Deckkraft eines SVG-Farbverlaufsstopps definieren

Dieses Beispiel zeigt den grundlegenden Anwendungsfall von stop-opacity und wie die CSS-Eigenschaft stop-opacity das stop-opacity-Attribut überlagert.

HTML

Wir haben ein SVG mit einigen <polygon>-Sternen und drei <linearGradient>-Elementen: Jedes enthält drei <stop>-Elemente, die drei Farbstopps definieren, die einen Farbverlauf von Blau zu Weiß zu Pink erstellen; der einzige Unterschied zwischen ihnen ist der id-Wert.

html
<svg viewBox="0 0 250 120" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <linearGradient id="myGradient1">
      <stop offset="5%" stop-color="#66ccff" stop-opacity="1" />
      <stop offset="50%" stop-color="#fefefe" stop-opacity="1" />
      <stop offset="95%" stop-color="#f4aab9" stop-opacity="1" />
    </linearGradient>
    <linearGradient id="myGradient2">
      <stop offset="5%" stop-color="#66ccff" stop-opacity="1" />
      <stop offset="50%" stop-color="#fefefe" stop-opacity="1" />
      <stop offset="95%" stop-color="#f4aab9" stop-opacity="1" />
    </linearGradient>
    <linearGradient id="myGradient3">
      <stop offset="5%" stop-color="#66ccff" stop-opacity="1" />
      <stop offset="50%" stop-color="#fefefe" stop-opacity="1" />
      <stop offset="95%" stop-color="#f4aab9" stop-opacity="1" />
    </linearGradient>
  </defs>
  <polygon points="40,10 10,100 80,40 0,40 70,100" />
  <polygon points="125,10 95,100 165,40 85,40 155,100" />
  <polygon points="210,10 180,100 250,40 170,40 240,100" />
</svg>

CSS

Wir fügen einen stroke und stroke-width hinzu, um die Polygon-Pfadenlinie sichtbar zu machen.

Jedes polygon hat einen Farbverlaufs-Hintergrund, der mit der fill-Eigenschaft festgelegt wurde; die id des Farbverlaufs ist der url()-Parameter. Wir setzen magenta als Ersatzfarbe.

Wir definieren die Deckkraft der Stops jedes Farbverlaufs mit der stop-opacity-Eigenschaft.

Das SVG hat einen gestreiften Hintergrund, um die Einstellungen zur Transparenz besser sichtbar zu machen.

css
polygon {
  stroke: #333333;
  stroke-width: 1px;
}
polygon:nth-of-type(1) {
  fill: url("#myGradient1") magenta;
}
polygon:nth-of-type(2) {
  fill: url("#myGradient2") magenta;
}
polygon:nth-of-type(3) {
  fill: url("#myGradient3") magenta;
}

#myGradient1 stop {
  stop-opacity: 1;
}
#myGradient2 stop {
  stop-opacity: 0.8;
}
#myGradient3 stop {
  stop-opacity: 25%;
}

Ergebnisse

Der erste Stern ist vollständig undurchsichtig. Die Füllung des zweiten Sterns ist zu 80% undurchsichtig, da die Farbstopps leicht durchsichtig sind; die stop-opacity: 0.8; überlagerte den stop-opacity="1"-Elementattributwert. Die Füllung des letzten Sterns ist kaum merklich mit Farbstopps, die zu 25% durchsichtig sind. Beachten Sie, dass der Strich in jedem Fall dasselbe undurchsichtige Dunkelgrau ist.

Hinweis: Da wir denselben stop-opacity-Wert für alle gleichrangigen <stop>-Elemente im linearen Farbverlauf verwendet haben, hätten wir stattdessen ein einzelnes <linearGradient> mit vollständigen, undurchsichtigen Stops verwenden und für jedes <polygon> die fill-opacity-Eigenschaft festlegen können.

Spezifikationen

Specification
Scalable Vector Graphics (SVG) 2
# StopOpacityProperty

Browser-Kompatibilität

Siehe auch