Im modernen Web gibt es zahlreiche Techniken, die verwendet werden können, um interessante Interaktionen zu erzeugen, aber das einfachste und eleganteste ist normalerweise CSS und speziell die Zusätze, die mit CSS3 geliefert wurden.
Früher mussten wir uns auf JavaScript für diese Art von Effekt verlassen, aber dank der zunehmenden Unterstützung von CSS3 in allen Browsern ist es nun möglich, Effekte wie diese ohne jegliche Skripterstellung einzurichten. Es gibt leider immer noch Browser (IE9 und darunter), die CSS3 nicht unterstützen, so dass Sie entweder einen Ersatz für ältere Browser benötigen oder den Effekt als progressive Erweiterung behandeln müssen.
Heute werden wir uns ansehen, wie wir coole, aber saubere Hover-Effekte anwenden können, um Bildunterschriften ein- und auszublenden.
Wenn Sie dem Code folgen möchten, können Sie das tun Laden Sie die Dateien hier herunter.
Die erste Demo ist unsere einfachste: Das Bild wird nach rechts fliegen, um die Bildunterschrift zu zeigen.
Für unser CSS werden wir eine relative Positionierung für unsere Demo-1- Klasse festlegen und dann die Breite und Höhe einstellen. Wir werden auch die übergelaufenen Elemente verstecken. Ich habe auch einige grundlegende Stile für meine h2 und p- Tags sowie mein Bild-Tag. Nun werden wir für unsere Effektklasse die Positionierung auf absolut festlegen und ihr einen Rand von -15px nach oben und unten geben. Wir werden den Übergang von CSS3 verwenden, um einen glatten Effekt zu erzeugen. Unser CSS sieht so aus:
.demo-1 {position:relative;width:300px;height:200px;overflow:hidden;float:left;margin-right:20px;background-color:rgba(26,76,110,0.5)}.demo-1 p,.demo-1 h2 {color:#fff;padding:10px;left:-20px;top:20px;position:relative}.demo-1 p {font-family:'Lato';font-size:12px;line-height:18px;margin:0}.demo-1 h2 {font-family:'Lato';font-size:20px;line-height:24px;margin:0;}.effect img {position:absolute;margin:-15px 0;right:0;top:0;cursor:pointer;-webkit-transition:top .4s ease-in-out,right .4s ease-in-out;-moz-transition:top .4s ease-in-out,right .4s ease-in-out;-o-transition:top .4s ease-in-out,right .4s ease-in-out;transition:top .4s ease-in-out,right .4s ease-in-out}.effect img.top:hover {top:-230px;right:-330px;padding-bottom:200px;padding-left:300px}
Unsere zweite Demo zeigt das herunterrutschende Bild. Das bedeutet, wenn Sie mit der Maus über das Bild fahren, wird die Beschriftung darüber angezeigt.
Unser CSS wird fast das gleiche wie das erste Demo sein, außer dass wir diesmal unser Bild nach unten verschieben werden, indem wir die Eigenschaft unten auf -96px setzen. Wir verwenden auch den Übergang von CSS3, um einen glatten Effekt zu erzeugen:
.demo-2 {position:relative;width:300px;height:200px;overflow:hidden;float:left;margin-right:20px;background-color:rgba(26,76,110,0.5)}.demo-2 p,.demo-2 h2 {color:#fff;padding:10px;left:-20px;top:20px;position:relative}.demo-2 p {font-family:'Lato';font-size:12px;line-height:18px;margin:0}.demo-2 h2 {font-size:20px;line-height:24px;margin:0;font-family:'Lato'}.effect img {position:absolute;left:0;bottom:0;cursor:pointer;margin:-12px 0;-webkit-transition:bottom .3s ease-in-out;-moz-transition:bottom .3s ease-in-out;-o-transition:bottom .3s ease-in-out;transition:bottom .3s ease-in-out}.effect img.top:hover {bottom:-96px;padding-top:100px}h2.zero,p.zero {margin:0;padding:0}
Für unsere letzte Demo erstellen wir einen Flip-Karten-Effekt. Das bedeutet, wenn Sie die Maus auf das Bild bewegen, dreht es sich um seine Achse, um die Beschreibung zu zeigen.
In unserem CSS werden wir das Figurenbild auf eine relative Position setzen und dann die Rückseitensicht ausblenden. Wir werden auch die rotateY- Transformation verwenden: -180 Grad für figcaption und dann für den Hover sowohl des Bildes als auch der Beschriftung auf 180 Grad ändern:
.demo-3 {position:relative;width:300px;height:200px;overflow:hidden;float:left;margin-right:20px}.demo-3 figure {margin:0;padding:0;position:relative;cursor:pointer;margin-left:-50px}.demo-3 figure img {display:block;position:relative;z-index:10;margin:-15px 0}.demo-3 figure figcaption {display:block;position:absolute;z-index:5;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.demo-3 figure h2 {font-family:'Lato';color:#fff;font-size:20px;text-align:left}.demo-3 figure p {display:block;font-family:'Lato';font-size:12px;line-height:18px;margin:0;color:#fff;text-align:left}.demo-3 figure figcaption {top:0;left:0;width:100%;height:100%;padding:29px 44px;background-color:rgba(26,76,110,0.5);text-align:center;backface-visibility:hidden;-webkit-transform:rotateY(-180deg);-moz-transform:rotateY(-180deg);transform:rotateY(-180deg);-webkit-transition:all .5s;-moz-transition:all .5s;transition:all .5s}.demo-3 figure img {backface-visibility:hidden;-webkit-transition:all .5s;-moz-transition:all .5s;transition:all .5s}.demo-3 figure:hover img,figure.hover img {-webkit-transform:rotateY(180deg);-moz-transform:rotateY(180deg);transform:rotateY(180deg)}.demo-3 figure:hover figcaption,figure.hover figcaption {-webkit-transform:rotateY(0);-moz-transform:rotateY(0);transform:rotateY(0)}