Założenie jest bardzo proste. Najeżdżamy myszką na jakiś tekst, co skutkuje pojawieniem się dymka z opisem. "Hint" wyświetla się nie od razu, lecz wyłania się z półprzezroczystości, jednocześnie wysuwając obok tekstu. Są 4 kierunki animacji - wyjechanie pionowo/poziomo/w prawo/w lewo. Animacja jest szybka, jednak zauważalna. Miły dla oka efekt :)
Źródło:
http://cssdeck.com/labs/hint-css-tooltip
HTML
HINT
A CSS tooltip library [WIP]
(
Hint.css has been released.)
Look, there is something over me.
I am always right!
How about a bottoms up?
What do we get now?
CSS
/**
* HINT- A CSS tooltip library
*/
.hint { position: relative; display: inline-block; }
.hint:before, .hint:after {
position: absolute;
opacity: 0;
z-index: 1000000;
-webkit-transition: 0.3s ease;
-moz-transition: 0.3s ease;
pointer-events: none;
}
.hint:hover:before, .hint:hover:after {
opacity: 1;
}
.hint:before {
content: '';
position: absolute;
background: transparent;
border: 6px solid transparent;
position: absolute;
}
.hint:after {
content: attr(data-hint);
background: rgba(0, 0, 0, 0.8);
color: white;
padding: 8px 10px;
font-size: 12px;
white-space: nowrap;
box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.3);
}
/* top */
.hint--top:before {
bottom: 100%;
left: 50%;
margin: 0 0 -18px 0;
border-top-color: rgba(0, 0, 0, 0.8);
}
.hint--top:after {
bottom: 100%;
left: 50%;
margin: 0 0 -6px -10px;
}
.hint--top:hover:before {
margin-bottom: -10px;
}
.hint--top:hover:after {
margin-bottom: 2px;
}
/* default: bottom */
.hint--bottom:before {
top: 100%;
left: 50%;
margin: -14px 0 0 0;
border-bottom-color: rgba(0, 0, 0, 0.8);
}
.hint--bottom:after {
top: 100%;
left: 50%;
margin: -2px 0 0 -10px;
}
.hint--bottom:hover:before {
margin-top: -6px;
}
.hint--bottom:hover:after {
margin-top: 6px;
}
/* right */
.hint--right:before {
left: 100%;
bottom: 50%;
margin: 0 0 -4px -8px;
border-right-color: rgba(0,0,0,0.8);
}
.hint--right:after {
left: 100%;
bottom: 50%;
margin: 0 0 -13px 4px;
}
.hint--right:hover:before {
margin: 0 0 -4px -0;
}
.hint--right:hover:after {
margin: 0 0 -13px 12px;
}
/* left */
.hint--left:before {
right: 100%;
bottom: 50%;
margin: 0 -8px -4px 0;
border-left-color: rgba(0,0,0,0.8);
}
.hint--left:after {
right: 100%;
bottom: 50%;
margin: 0 4px -13px 0;
}
.hint--left:hover:before {
margin: 0 0 -4px 0;
}
.hint--left:hover:after {
margin: 0 12px -13px 0;
}
0 komentarze:
Prześlij komentarz