
我們将使用CSS3動畫過渡來建立簡單但引人入勝的連結懸停效果,将滑鼠懸停在連結上時,會彈出一個小彈出框。我們還将看一下CSS3 Cubic-Bezier(貝塞爾)曲線,它是CSS過渡,為彈出框提供了更加流暢的運動,而不是僵化的機械運動。
這是我們最後的效果:
讓我們開始吧!
html部分
這是我們連結的html,圖示來自iconfont.cn。
<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。
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%);
}
接下來,我們對連結進行樣式設定,建立簡單的背景懸停效果,并定位社交媒體圖示。
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%;
}
接下來,我們将對彈出文本進行樣式設定和動畫處理。
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曲線過渡的動畫,但動畫的差異如下:
可以看到,動畫為懸停效果增添了生氣。
最後一組CSS涉及樣式化彈出框底部的小箭頭。要了解有關在CSS中如何制作三角形的更多資訊,請檢視此CSS技巧文章。
總結
我們建立了一個簡約的按鈕樣式連結。連結具有基本的背景懸停效果,但我們并沒有止步于此。我們添加了一個小彈出框來顯示連結的文本。在CSS3 Cubic-Bezier塞爾曲線的幫助下,動畫流暢且令人愉悅。
這類知識非常有用,可以作為你顯示社交媒體帳戶的網站設計的一部分。
本文示例示範和完整代碼請通路如下位址,建議PC端打開 https://coding.zhanbing.site
本文完~