咱們將使用CSS3動畫過渡來建立簡單但引人入勝的連接懸停效果,將鼠標懸停在連接上時,會彈出一個小彈出框。css
咱們還將看一下CSS3 Cubic-Bezier(貝塞爾)曲線,它是CSS過渡,爲彈出框提供了更加流暢的運動,而不是僵化的機械運動。html
這是咱們最後的效果:git
讓咱們開始吧!github
這是咱們連接的HTML,圖標來自iconfont.cn。web
<div class="container"> <section> <a href="#"> <i class="fab fa-instagram"></i> <span>Instagram</span> </a> <a href="#"> <i class="fab fa-github"></i> <span>Github</span> </a> </section> </div>
當您將鼠標懸停在連接上時,span標籤將成爲彈出框。接下來,咱們進入CSS。動畫
咱們將div容器居中,以使兩個連接在屏幕上居中。這也使對小彈出框進行動畫處理變得容易,由於它們將從連接的頂部彈出。網站
div.container { display: inline-block; position:absolute; top:50%; left:50%; -ms-transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%); }
接下來,咱們對連接進行樣式設置,建立簡單的背景懸停效果,並定位社交媒體圖標。url
a { color:#fff; background: #8a938b; border-radius:4px; text-align:center; text-decoration:none; position: relative; display: inline-block; width: 120px; height: 100px; padding-top:12px; margin:0 2px; -o-transition:all .5s; -webkit-transition: all .5s; -moz-transition: all .5s; transition: all .5s; -webkit-font-smoothing: antialiased; }a:hover { background: #5a665e; }i{ font-size: 45px; vertical-align: middle; display: inline-block; position: relative; top: 20%; }
接下來,咱們將對彈出文本進行樣式設置和動畫處理。spa
a span { color:#666; position:absolute; font-family: 'Chelsea Market', cursive; bottom:0; left:-15px; right:-15px; padding: 15px 7px; z-index:-1; font-size:14px; border-radius:5px; background:#fff; visibility:hidden; opacity:0; -o-transition:all .5s cubic-bezier(0.68, -0.55, 0.265, 1.55); -webkit-transition: all .5s cubic-bezier(0.68, -0.55, 0.265, 1.55); -moz-transition: all .5s cubic-bezier(0.68, -0.55, 0.265, 1.55); transition: all .5s cubic-bezier(0.68, -0.55, 0.265, 1.55); }/* 當圖標處於懸停狀態時,文本將彈出 */ a:hover span { bottom: 130px; visibility:visible; opacity:1; }
CSS3 Cubic-Bezier曲線由四個點p0,p1,p2和p3定義。 p0點是曲線的起點,而p3點是曲線的終點。曲線越線性,運動就越僵硬(或不那麼流暢)。設計
若是一個點一開始是正數,而下一個點是負數,那麼運動一開始就會很慢。當點值變得比以前的點值高時,運動加快。
這就是CSS中Cubic-Bezier點的含義。因爲動畫短,因此動做很細微。彈出框從正方形底部開始時緩慢開始,而後開始加速到頂部。
儘管您能夠建立沒有Cubic-Bezier曲線過渡的動畫,但動畫的差別以下:
有Cubic-Bezier曲線過渡的動畫
沒有Cubic-Bezier曲線過渡的動畫
能夠看到,動畫爲懸停效果增添了生氣。
最後一組CSS涉及樣式化彈出框底部的小箭頭。要了解有關在CSS中如何製做三角形的更多信息,請查看此CSS技巧文章。
咱們建立了一個簡約的按鈕樣式連接。連接具備基本的背景懸停效果,但咱們並無止步於此。咱們添加了一個小彈出框來顯示連接的文本。在CSS3 Cubic-Bezier塞爾曲線的幫助下,動畫流暢且使人愉悅。
這類知識很是有用,能夠做爲你顯示社交媒體賬戶的網站設計的一部分。
本文示例演示和完整代碼請訪問以下地址,建議PC端打開 https://coding.zhanbing.site