Weil ich's die Tage für ein Webprojekt benötigt habe, und ich die Umsetzung gerne auch bereit stelle ...
Aufgabe:
- zwei Bilder, die übereinander versetzt dargestellt werden
- bei :hover am "hinteren" Bild soll dieses in den Vordergrund rücken, aber mit fade-Effect
- vorhandene Boardmittel sollen soweit es möglich ist verwendet werden
Recherge:
- für den fade-Effect kann 'transition' eingesetzt werden
- z-index bei :hover ändern ist machbar, einfach umzusetzen, aber es wirkt kein 'transition'
- z-index mit transition ist wohl nicht machbar
Umsetzung:
- via Grid-Layout einen Wrapper erzeugt (in meinem Fall [E&F GRID])
- Wrapper mit Klasse .image-box versehen
- innerhalb des Wrappers, innerhalb von START und STOPP, drei Contentelement 'Bild' eingefügt
- 1. CE Bild: das "hintere" Bild
- 2. CE Bild: das "vordere" Bild
- 3. CE Bild: eine Kopie des 2. CE
- Styles via CSS
Code:
.image-column {
&.image-box {
position: relative;
display: block;
padding: 0 100px 225px 0;
.ce_image:first-child {
position: relative;
z-index: 1;
transition: 500ms;
&:hover {
& + .ce_image:nth-child(2) {
opacity: 0;
}
}
}
.ce_image:nth-child(2),
.ce_image:nth-child(3) {
position: absolute;
right: 0;
bottom: 0;
transition: 500ms;
}
.ce_image:nth-child(2) {
z-index: 2;
}
.ce_image:nth-child(3) {
z-index: 0;
}
}
}
Wie funktioniert der Effect?:
- Der Aufbau der z-index ist zu beachten:
- Bild 1 liegt zwischen Bild 2 und Bild 3
- Bei :hover über Bild 1 wird das Bild 2 "ausgeblendet" und somit liegt Bild 1 über Bild 3
- Das "Ausblenden" bekommt den Fade-Effect via 'transition'
z-index_transition_00.jpg