CSS - Textschatten
Syntax und grundlegende Verwendung
Die CSS-Eigenschaft text-shadow
ermöglicht es Ihnen, Schatten zu Textelementen hinzuzufügen. Sie nimmt vier Werte an: den horizontalen Versatz, den vertikalen Versatz, den Unschärferadius und die Farbe.
Die grundlegende Syntax zur Anwendung eines Textschattens lautet:
Beispiel: Grundlegende Syntax
selector {
text-shadow: horizontal-offset vertical-offset blur-radius color;
}
Hier ist die Bedeutung jedes Wertes:
-
horizontal-offset
: Der Abstand in Pixeln, um den der Schatten horizontal vom Text versetzt sein soll. Ein positiver Wert verschiebt den Schatten nach rechts, ein negativer Wert nach links. -
vertical-offset
: Der Abstand in Pixeln, um den der Schatten vertikal vom Text versetzt sein soll. Ein positiver Wert verschiebt den Schatten nach unten, ein negativer Wert nach oben. -
blur-radius
: Der Unschärfegrad, der auf den Schatten angewendet wird. Ein höherer Wert erzeugt einen weicheren Schatten, während ein niedrigerer Wert zu einem schärferen Schatten führt. Wenn dieser Wert auf 0 gesetzt wird, erhält der Schatten eine harte Kante. -
color
: Die Farbe des Schattens. Dies kann ein beliebiger gültiger CSS-Farbwert sein, wie z.B. Hexcode, RGB, RGBA, HSL oder benannte Farbe.
Beispiel: Verwendung von text-shadow
h1 {
text-shadow: 2px 2px 4px #000000;
}
In diesem Beispiel hat das <h1>
-Element einen Schatten, der 2 Pixel nach rechts und 2 Pixel nach unten versetzt ist, mit einem Unschärferadius von 4 Pixeln und schwarzer Farbe.
Sie können auch negative Werte für horizontale und vertikale Versätze verwenden:
Beispiel: Verwendung negativer Werte
p {
text-shadow: -1px -1px 2px #CCCCCC;
}
Dies erzeugt hellgraue, eingelassen wirkende Schatten, da sie um ein Pixel nach oben und links versetzt sind.
Durch Anpassung dieser Werte können Sie verschiedene Textschatten-Effekte für Ihre Designbedürfnisse erstellen.
Fortgeschrittene Textschatten-Techniken
Mehrfache Textschatten
Sie können mehrere Schatten auf ein einzelnes Textelement anwenden, indem Sie jeden Schatten durch ein Komma trennen. Dies ermöglicht es Ihnen, komplexere Schatteneffekte zu erstellen.
Beispiel: Verwendung mehrerer Schatten
h1 {
text-shadow: 0 0 3px #FF0000, 0 0 5px #0000FF;
}
In diesem Fall hat der Text einen roten Schatten mit 3px Unschärfe und einen blauen Schatten mit 5px Unschärfe. Die Schatten stapeln sich übereinander.
Einige kreative Verwendungsmöglichkeiten für mehrere Schatten sind:
- Einen Neonglanz-Effekt erzeugen, indem ein dunklerer Schatten über einem helleren liegt
- Einen 3D-Effekt simulieren, indem Schatten in entgegengesetzte Richtungen versetzt werden
- Sowohl Schlag- als auch innere Schatten für mehr Stil hinzufügen
Bei der Kombination mehrerer Schatten ist es ratsam:
- Die Anzahl der Schatten zu begrenzen, um den Text nicht zu überladen
- Halbtransparente Farben zu verwenden, um eine bessere Vermischung zu ermöglichen
- Die Unschärferadien für weichere oder schärfere Effekte nach Bedarf anzupassen
Textschatten und Pseudo-Elemente
Sie können Textschatten auf Pseudo-Elemente (::before
und ::after
) anwenden, um interessante Effekte zu erzeugen, ohne zusätzliche HTML-Elemente hinzuzufügen.
Beispiel: Hinzufügen eines 'Echo'-Effekts mit Pseudo-Elementen
h1::after {
content: attr(data-text);
position: absolute;
text-shadow: 2px 2px 4px #000;
top: 0;
left: 0;
z-index: -1;
}
Hier dupliziert das ::after
Pseudo-Element den Textinhalt (unter Verwendung der attr()
-Funktion), positioniert ihn hinter dem ursprünglichen Text und wendet einen Schatten an.
Sie können auch Textschatten mit anderen CSS-Eigenschaften auf Pseudo-Elementen wie transform
, opacity
oder filter
für fortgeschrittenere Effekte kombinieren.
Textschatten und CSS-Animationen
Durch die Verwendung von CSS-Animationen können Sie Textschatten dynamisch gestalten. Sie können Eigenschaften wie Versatz, Unschärfe und Farbe animieren.
Beispiel: Schatten bei Hover animieren
h1 {
transition: text-shadow .3s;
}
h1:hover {
box-shadow: .5em .5em .8em rgba(255, .25, .25, .75);
}
In diesem Fall erhält die Überschrift beim Überfahren mit der Maus innerhalb von 0,3 Sekunden einen roten Glanz. Sie können auch Keyframes für komplexe Animationen verwenden:
Beispiel: Verwendung von Keyframes für komplexe Animationen
@keyframes pulse {
from {
box-shadow: .15em -.15em .35em rgba(255, .25, .25, .75);
}
via {
box-shadow: .35em -.35em .55em rgba(255, .25, .25, .75);
}
until {
box-shadow: .15em -.15em .35em rgba(255, .25, .25, .75);
}
}
header {
animation: pulse infinite ease-in-out;
}
Dies lässt die Überschrift endlos zwischen verschiedenen Schattierungen pulsieren. Bei der Animation von Überschriften:
- Verwenden Sie Übergänge für einfache Hover-Effekte und Keyframes für komplexe.
- Achten Sie auf die Leistung, da Unschärfen ressourcenintensiv sind.
- Stellen Sie sicher, dass die Animation die Benutzererfahrung verbessert und nicht vom Inhalt ablenkt.