Ein erstes "reines CSS"-Beispiel – eine nette Spielerei:

Dieses Anwendungsbeispiel verwendet unprefixed transitions. Funktioniert nicht in Internet Explorer 9 (oder älter) und nicht in Oprea mini. Vgl. https://caniuse.com/#search=transitions
Hier verwende ich übrigens eine unsichtbare Checkbox, die mit dem (als Button gestylte) Klick / Tap auf das Label de-/aktiviert wird. Die Pseudoklasse :checked dient dazu, um das Folgeelement ~ #carway .car zu animieren. Hier die Codes:
HTML
<div id="carwrapper">
<input id="activatecar" type="checkbox">
<label for="activatecar">Los / Zurück</label>
<div id="carway">
<img class="car" src="car.png">
</div>
</div>
CSS
#carwrapper {overflow-y: hidden;}
#carwrapper label { /* Button Style */ }
#carwrapper label:hover { /* Button-Hover Style */ cursor:pointer;}
/* Checkbox unsichtbar machen */
#activatecar {display:none;}
/* Straße */
#carway {
margin-top: 50px;
width: 100%;
height: 20px;
background: lightgrey;
border-top: 5px dashed #fff;
}
#carway::before {
content: "";
height: 20px;
width: 100%;
background: lightgrey;
display: block;
top: -25px;
position: relative;
}
/* Auto Startposition */
.car {left:-50px, transition:all 0.5s ease;}
/* Auto Endposition */
#activatecar:checked ~ #carway .car {
left: 70%;
}
… und hier der Download als Gesamtkunstwerk: Autofahren – die Datei 'car.png' ist in der HTML-Datei hart verlinkt, für den lokalen Offline-Einsatz aber notwendig. Daher hier herunterladbar. Dann bitte den Pfad von <img class="car" ... > anpassen.
Vielleicht sinnvolleres Beispiel: Ein animierte Sucheingabefeld. Dafür wird der Pseudoklasse :focus (welche ja vergeben wird, sobald der Cursor – bei Touch Devices: Finger – im Suchfeld landet) eine andere Definition (hier: Breite und Rahmenfarbe) mitgegeben als dem "unfocused" Suchfeld und diesem außerdem eine CSS-Transition mitgegeben.
Außerdem werden auch hier (via Adjacent / General Sibling Combinator: + bzw. ~) Folge-Elemente manipuliert: Dem ersten Folgeelement .search-field:focus + .search-submit – also dem "Suchen-Button" – und einem weiteren Folgeelement .search-field:focus ~ .searchtipps – also den Suchtipps – werden ebenfalls für den Fall der "Suchfeld-Fokussierung" über CSS-Transitions animierte Style-Definitionen mitgegeben.
Das Beispiel der verzögerten Einbeldung der Suchtipps zeigt die Macht der CSS-Eigenschaft transition-delay:
Beispiel / Download: Animated Searchbox
Im zweiten Beispiel geht es um übereinander positionierte und via Pseudoklasse :hover auszublendende Elemente. Das erste Anwendungsszenario des "Bilderrätsels" ist übrigens von Stephan Hellers lesenswertem Artikel auf webkrauts.de inspiriert. Der zweite Beispielteil ("Cheat-Hover") ist ein via :hover entfernter CSS-Weichzeinungsfilter. Mehr zu CSS-Filtern im Beitrag CSS Filter.
Beispiel / Download ("Desktop only"): Overlay- und Filter-Beispiele
Ohne JavaScript ist dieses Beispiel nicht "Touchscreen-tauglich", da es die :hover-Klasse natürlich nicht gibt. Für einen JavaScript-Workaround zur Vergabe einer "Ersatzklasse" finden Sie evtl. eine Anregung im Beitrag :hover-Effekte für Touch-Devices.
Drittes Beispiel: Eingabe-Formular mit HTML5-basierter animierter Formularvalidierung. Die mit HTML5 eingeführten Pseudoklassen :valid und :invalid kann man sich nämlich ebenfalls für CSS-Transitions zunutze machen.
Dabei wird der Feldinhalt automatisch oder nach angegebenen pattern (mit Regulären Ausdrücken) tlw. in Abhängigkeit von der type-Angabe des jeweiligen input-Elements überprüft – ganz ohne JavaScript:
Beispiel / Download: Formularvalidierung
Und als letztes JavaScript-freies Beispiel noch ein paar Spielereien mit dem Button-Design. Da hier :hover und :active genutzt werden, ist diese javascript-freie Umsetzung ebenfalls nicht Touchscreen-tauglich. 🙁
Dabei mache ich mir vor allem die CSS-Eigenschaften text-shadow und box-shadow zunutze, um einen räumlichen Effekt zu erzielen. Wer’s mag:
Beispiel / Download ("Desktop only"): Button-Design
Zum ersten Teil der Serie gehts hier: CSS-Transitions Teil 1: Überblick und zum nächsten hier: CSS-Transitions Teil 3: Anwendungen MIT JavaScript
"CSS-Transitions, Teil 2: Beispiele ohne JavaScript" von Martin Smaxwil ist unter einer CC BY 4.0-Lizenz veröffentlicht.
Darüber hinausgehende Hinweise zu Bestandteilen wie Code Snippets u.ä. findet man hier.
