CSS aktuell: Warten auf animation-timeline: scroll()

CSS 2025 Aktuelle neue Stile

Neue CSS-Eigenschaften erscheinen nicht en block à la CSS 2 oder CSS 3, sondern tröpfeln mal hier und mal da ein. Popup-Fenster und CSS-Animationen beim Scrollen – beides ohne Javascript – sind auf dem Weg.

Popover – Popup-Fenster ohne Javascript

Das HTML dialog-Tag gibt es schon seit geraumer Zeit für kleine Nachrichten, Warnungen und Hinweise. dialogplatziert bei einem Klick ein Fenster über die Seite, das wie ein absolut positioniertes Fenster wirkt.

Aber für das Popup-Fenster braucht das dialog-Element immer noch Javascript – es sei denn, wir nutzen das neue popover-Attribut.

Danke für’s Mitmachen!

ESC oder außerhalb dieses Fensters klicken, um es zu schließen

<button popovertarget="my-popover">popup!</button>

<dialog id="my-popover" popover>
<p>Danke für's Mitmachen!</p>
<p>ESC oder außerhalb dieses Fensters klicken, um es zu schließen</p>
</dialog>

Ohne weitere Einstellungen oder CSS legt sich das Popover-Fenster über die vertikale und horizontale Mitte des Fensters. Der nachfolgende Inhalt bleibt an seinem Platz und verdrängt nachfolgenden Inhalte nicht. Unter dem Popup-Fenster kann der Benutzer die Seite scrollen, aber interaktive Elemente sind außer Kraft gesetzt.

Anstelle des dialog-Elements kann der Hinweis genauso gut in einfache div-Tags eingeschlossen werden. Was zählt, ist das popover-Attribut.

Pseudoklasse :popover-open

Das popover-Attribut bringt eine eigene CSS-Pseudoklasse mit: 
:popover-open spricht das geöffnete Popover-Fenster an und bringt dem Popup-Fenster das sanfte Rauf- und Runterrutschen bei.

/** »Normaler« Anfangszustand **/
[popover]:popover-open {
translate: 0 0;
}

[popover] {
transition: translate 0.7s;
translate: 0 -22rem;
}

@starting-style {
[popover]:popover-open {
translate: 0 -22rem;
}
}

@starting-style muss immer als letzte Regel aufgeführt werden, damit sie nicht von »normalen« Regeln überschrieben wird.

Pseudoklasse :popover-open

Das popover-Attribut bringt eine eigene CSS-Pseudoklasse mit: 
:popover-open spricht das geöffnete Popover-Fenster an und bringt dem Popup-Fenster das sanfte Rauf- und Runterrutschen bei.

/** »Normaler« Anfangszustand **/
[popover]:popover-open {
translate: 0 0;
}

[popover] {
transition: translate 0.7s;
translate: 0 -22rem;
}

@starting-style {
[popover]:popover-open {
translate: 0 -22rem;
}
}

@starting-style muss immer als letzte Regel aufgeführt werden, damit sie nicht von »normalen« Regeln überschrieben wird.

animation-timeline: scroll()

CSS-Animationen starten per se, wenn die Seite geladen wird. Bis jetzt musste Javascript nachhelfen, um eine Animation auszulösen, wenn sie in den sichtbaren Ausschnitt des Browserfensters kommt. 

Dieser Browser unterstützt animation-timeline: scroll() noch nicht.

Der Ausgangspunkt ist eine ganz normale CSS-Keyframes-Animation. Mit animation-timeline: scroll() synchronisiert der Browser die Animation mit dem Scrollen.

@keyframes grow-progress {
from { transform: scale(0.3,0.3)}
to {transform: scale(1.5,1.5)}
}

#beatle {
height: 320px;
max-width: 98%;
background: url('kaefer.webp') no-repeat;
background-size: cover;
animation: grow-progress linear forwards;
animation-timeline: scroll();
transform-origin: center center;
}

Eine Zeile macht den Unterschied: animation-timeline: scroll() und die Dauer der Animation (duration) entfällt.

text-wrap: balance

text-wrap: balancesoll für ein ausgewogenes Schriftbild von Texten sorgen. Dafür versucht der Browser, die Zeilen möglichst gleich lang zu halten und vermeidet, dass in der letzten Zeile ein einzelnes Wort steht.

CSS-Console: Testen, untersuchen und Informationen

text-wrap aus

Gut für Überschriften über mehrere Zeilen, in denen ein einsames Wort in einer Zeile keinen guten Eindruck macht.

text-wrap ist mit CSS Text Module Level 4 May 2024 gelandet und bringt auch Updates bei den font-variant-Eigenschaften, die feinere Steuerungsmöglichkeiten für Ligaturen, Zahlenformate und andere typografische Details bieten.

initial-letter – Drop Cap oder Initiale

Es gibt zwar das Pseudo-Element ::first-letter, mit dem Drop-Caps gestylt werden können, aber die Positionierung der Initiale mit float ist alles andere als intuitiv. Stattdessen wird es in Zukunft die Eigenschaft initial-letter geben. Chrome ist bereits dabei, Safari auch (allerdings mit -webkit-Präfix), nur Firefox fehlt noch.

@scope

Lokale CSS-Regeln ohne BEM (Block, Element, Modifier) oder IDs, die nur innerhalb eines Bereichs gelten.

@scope (.card) { h2 { color: blue; } }

Kommentare

14 Antworten zu „CSS aktuell: Warten auf animation-timeline: scroll()“

  1. itstitle

    excerptsa

  2. achat kamagra pharmacie gratuit tablette pour

    kamagra ventes aux états-unis

  3. enclomiphene fedex without a perscription

    online order enclomiphene purchase usa

  4. order androxal generic pharmacy usa

    how to buy androxal generic buy online

  5. cheapest buy flexeril cyclobenzaprine generic next day delivery

    cheapest buy flexeril cyclobenzaprine uk buy online

  6. buy dutasteride online without a prescription

    cheapest buy dutasteride generic where to buy

  7. order gabapentin purchase uk

    how to order gabapentin no prescription overnight delivery

  8. how to buy fildena purchase from uk

    get fildena uk no prescription

  9. buying itraconazole uk in store

    itraconazole over the internet

  10. how to order staxyn american pharmacy

    cheapest buy staxyn buy online uk

  11. ordering avodart generic is it safe

    online order avodart generic extended release

  12. order rifaximin generic from canada

    discount rifaximin generic germany

  13. buy xifaxan generic online pharmacy

    buy xifaxan online sydney

  14. co říkáte svému lékaři, aby vám dal kamagra

    kamagra usa přes noc