CSS3 Befehle seit 2020 neu Teil2

Hier sind weitere neue CSS3-Eigenschaften und -Funktionen, die in den letzten Jahren eingeführt wurden:

1. scroll-padding und scroll-margin

Diese Eigenschaften definieren den Abstand des Inhalts von den Rändern des Containers, wenn scroll-snap verwendet wird.

.container {
scroll-padding: 50px;
}

.item {
scroll-margin: 10px;
}

2. gap (für Flexbox)

Die gap-Eigenschaft wurde ursprünglich für CSS Grid eingeführt, ist aber jetzt auch für Flexbox verfügbar. Sie legt den Abstand zwischen den Elementen innerhalb eines Flexcontainers fest.

.flex-container {
display: flex;
gap: 20px; /* Abstand zwischen den flex-Elementen */
}

3. overscroll-behavior

Diese Eigenschaft steuert, wie das Scrollen in einem Container mit überlaufendem Inhalt (overflow) gehandhabt wird, insbesondere wenn das Ende des Containers erreicht wird.

.container {
overscroll-behavior: contain; /* Verhindert, dass das Scrollen über den Container hinaus geht */
}

4. mix-blend-mode

mix-blend-mode definiert, wie der Inhalt eines Elements mit dem darunterliegenden Inhalt gemischt wird, um verschiedene visuelle Effekte zu erzielen.

.overlay {
background-color: rgba(255, 99, 71, 0.5);
mix-blend-mode: multiply; /* Multipliziert die Farben der beiden Ebenen */
}

5. isolation

Die isolation-Eigenschaft stellt sicher, dass ein Element eine separate Blending-Gruppe bildet. Dies verhindert, dass mix-blend-mode auf Elemente außerhalb dieser Gruppe angewendet wird.

.container {
  isolation: isolate; /* Isoliert das Element von anderen für den Mischmodus */
}

6. text-decoration-skip-ink

Diese Eigenschaft steuert, wie der Unterstrich bei Text dekoriert wird, insbesondere bei Buchstaben mit Deszendenten wie „g“ oder „y“.

a {
text-decoration-skip-ink: auto; /* Überspringt automatisch die Tinte unter Buchstaben */
}

7. conic-gradient()

conic-gradient() ist eine neue Art von Farbverlauf, die konzentrische Farbverläufe um einen Mittelpunkt erzeugt.

.circle {
background: conic-gradient(from 90deg, red, yellow, green, blue);
width: 200px;
height: 200px;
border-radius: 50%;
}

8. image-rendering

Diese Eigenschaft steuert, wie ein Bild skaliert wird, z.B. ob es weich oder scharf erscheinen soll.

img.pixel-art {
image-rendering: pixelated; /* Bewahrt die Schärfe von Pixel-Art beim Skalieren */
}

9. text-overflow: ellipsis;

Zwar nicht neu, aber nun besser unterstützt und oft in Kombination mit neuen Flexbox- und Grid-Layouts verwendet, fügt text-overflow ein Ellipsis (…) hinzu, wenn Text überläuft und abgeschnitten wird.

.text {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis; /* Zeigt "..." für abgeschnittenen Text */
}

10. contain

Diese Eigenschaft beschleunigt das Rendering, indem sie einschränkt, wie weit sich der Stil und das Layout eines Elements auf die Umgebung auswirken können.

.element {
contain: layout style; /* Begrenzt die Auswirkungen von Stiländerungen auf das eigene Element */
}

11. filter

Die filter-Eigenschaft wendet grafische Effekte wie Unschärfe, Helligkeit und Kontrast auf ein Element an.

img {
filter: grayscale(100%) blur(5px); /* Macht das Bild schwarz-weiß und unscharf */
}

12. backdrop-filter

Wendet Effekte auf den Hintergrund eines Elements an, oft in Kombination mit transparenten Overlays.

.overlay {
backdrop-filter: blur(10px); /* Macht den Hintergrund unscharf */
}

13. pointer-events

Diese Eigenschaft steuert, ob ein Element auf Maus- und Zeigerereignisse reagiert. Besonders nützlich bei Overlays.

.disabled {
pointer-events: none; /* Ignoriert Mausereignisse */
}

14. will-change

will-change teilt dem Browser mit, welche Eigenschaften sich in naher Zukunft ändern werden, damit der Browser die Leistung für diese Änderungen optimieren kann.

.element {
will-change: transform; /* Optimiert das Element für Transformationen */
}

15. object-fit

Diese Eigenschaft steuert, wie der Inhalt eines Elements in sein Containerfeld eingefügt wird, insbesondere bei Bildern oder Videos.

img {
width: 100%;
height: 200px;
object-fit: cover; /* Füllt das Containerfeld, ohne das Seitenverhältnis zu verändern */
}

16. object-position

Diese Eigenschaft steuert die Positionierung von Inhalten innerhalb eines Containerfeldes, wenn object-fit verwendet wird.

img {
  object-position: center top; /* Positioniert das Bild oben in der Mitte des Containers */
}

17. ch und ex Einheiten

Diese neuen Maßeinheiten ermöglichen mehr Präzision in der Größenberechnung von Schriften und anderen Elementen.

.element {
width: 30ch; /* Basierend auf der Breite von 30 Zeichen '0' */
height: 10ex; /* Basierend auf der Höhe des 'x' */
}

18. line-clamp

Eine nützliche Eigenschaft für das Abschneiden von Text nach einer bestimmten Anzahl von Zeilen.

.text {
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden; /* Schneidet Text nach 3 Zeilen ab */
}

Diese CSS3-Eigenschaften bieten Webentwicklern mächtige Werkzeuge, um moderne, reaktionsfähige und ansprechende Benutzeroberflächen zu erstellen. Die Kombination dieser Eigenschaften eröffnet neue Möglichkeiten für kreative und effiziente Webdesigns.