Animierte Tooltipps mit CSS3-Übergängen und Pseudoklassen erstellen
Im heutigen Artikel zeige ich Ihnen, wie Sie mit CSS3 einfache und animierte Tooltipps mit CSS-Übergängen und den Pseudo-Klassen :before und: after erstellen können.
Die Idee dahinter ist eine ungeordnete Liste mit Links (Social Icons als Grafik), welche beim Drüberfahren mit der Maus (CSS-Eigenschaft hover) eine kleine Infobox erscheinen lässt.
Demo 1 – 4 ansehen! | Beispiele als Zip-Datei herunterladen!
HTML:
Die ungeordnete Liste sieht dabei wie folgt aus:
CSS-Anweisungen für Tooltip Nummer 1:
Grundeinstellungen
Die Listenelemente bekommen ein floating:left und die Anker haben folgende Stil-Anweisungen:
.tt-wrapper{ padding: 0; width: 435px; height: 70px; margin: 80px auto 30px auto; } .tt-wrapper li{ float: left; } .tt-wrapper li a{ display: block; width: 68px; height: 70px; margin: 0 2px; outline: none; background: transparent url(../images/growcase_the_social_gunman_icons.png) no-repeat top left; text-indent: -9000px; position: relative; }
Hintergrund-Position für die Social-Icons festlegen
Jeder Anker bekommt eine eigene Hintergrund-Position für die Hintergrund-Grafik
.tt-wrapper li .tt-gplus{ background-position: 0px 0px; } .tt-wrapper li .tt-twitter{ background-position: -68px 0px; } .tt-wrapper li .tt-dribbble{ background-position: -136px 0px; } .tt-wrapper li .tt-facebook{ background-position: -204px 0px; } .tt-wrapper li .tt-linkedin{ background-position: -272px 0px; } .tt-wrapper li .tt-forrst{ background-position: -340px 0px; }
span-Element definieren, Pseudoklassen und Hover-Effekt festlegen:
.tt-wrapper li a span{ width: 100px; height: auto; line-height: 20px; padding: 10px; left: 50%; margin-left: -64px; font-family: 'Alegreya SC', Georgia, serif; font-weight: 400; font-style: italic; font-size: 14px; color: #719DAB; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1); text-align: center; border: 4px solid #fff; background: rgba(255,255,255,0.3); text-indent: 0px; border-radius: 5px; position: absolute; pointer-events: none; bottom: 100px; opacity: 0; box-shadow: 1px 1px 2px rgba(0,0,0,0.1); transition: all 0.3s ease-in-out; } .tt-wrapper li a span:before, .tt-wrapper li a span:after{ content: ''; position: absolute; bottom: -15px; left: 50%; margin-left: -9px; width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-top: 10px solid rgba(0,0,0,0.1); } .tt-wrapper li a span:after{ bottom: -14px; margin-left: -10px; border-top: 10px solid #fff; } .tt-wrapper li a:hover span{ opacity: 0.9; bottom: 70px; }
Das sind dann die die gesamten CSS-Befehle für den Tooltipp 1 (Effekt: Rechteck von oben)
Infos zu den Tooltipps Nr. 2 bis 4
Demo 2 zeigt als Hover-Element einen Kreis, Demo 3 ein hochgestelltes Rechteck von unten, Demo 4 ein Rechteck, welches von rechts einschwebt!
Unnötig zu sagen, dass die CSS3-Tooltipps nur in den modernsten und gängigsten Browsern funktionieren, welche Pseudo-Elemente, Hover-Effekte und CSS-Übergänge unterstützen.
In den Mobilversionen (Smartphone, Tablets) werden die Mouse-Over-Effekte, die CSS-Transitions und die Pseudo-Elemente :before und :after teilweise fehlerhaft bis gar nicht dargestellt!
Den Originalartikel zu meinem kleinen Tutorial finden Sie hier: How to create animated tooltips with CSS3