溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

CSS3中Cubic-Bezier()如何實(shí)現(xiàn)鏈接懸停動(dòng)畫效果

發(fā)布時(shí)間:2020-12-19 09:35:49 來(lái)源:億速云 閱讀:302 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了CSS3中Cubic-Bezier()如何實(shí)現(xiàn)鏈接懸停動(dòng)畫效果,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

我們將使用CSS3動(dòng)畫過(guò)渡來(lái)建簡(jiǎn)單但引人入勝的鏈接懸停效果,將鼠標(biāo)懸停在鏈接上時(shí),會(huì)彈出一個(gè)小彈出框。

我們還將看一下CSS3 Cubic-Bezier(貝塞爾)曲線,它是CSS過(guò)渡,為彈出框提供了更加流暢的運(yùn)動(dòng),而不是僵化的機(jī)械運(yùn)動(dòng)。

這是我們最后的效果:

CSS3中Cubic-Bezier()如何實(shí)現(xiàn)鏈接懸停動(dòng)畫效果

讓我們開始吧!

HTML部分

這是我們鏈接的HTML,圖標(biāo)來(lái)自iconfont.cn。

<p 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>
</p>

當(dāng)您將鼠標(biāo)懸停在鏈接上時(shí),span標(biāo)簽將成為彈出框。接下來(lái),我們進(jìn)入CSS。

CSS樣式和動(dòng)畫

我們將p容器居中,以使兩個(gè)鏈接在屏幕上居中。這也使對(duì)小彈出框進(jìn)行動(dòng)畫處理變得容易,因?yàn)樗鼈儗逆溄拥捻敳繌棾觥?/p>

p.container {
  display: inline-block;
  position:absolute;
  top:50%;
  left:50%;
  -ms-transform:translate(-50%,-50%);
  -webkit-transform:translate(-50%,-50%);
  transform:translate(-50%,-50%);
}

接下來(lái),我們對(duì)鏈接進(jìn)行樣式設(shè)置,創(chuàng)建簡(jiǎn)單的背景懸停效果,并定位社交媒體圖標(biāo)。

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%;
}

接下來(lái),我們將對(duì)彈出文本進(jìn)行樣式設(shè)置和動(dòng)畫處理。

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);
}/* 當(dāng)圖標(biāo)處于懸停狀態(tài)時(shí),文本將彈出 */
a:hover span {
  bottom: 130px;
  visibility:visible;
  opacity:1;
}

CSS3 Cubic-Bezier曲線由四個(gè)點(diǎn)p0,p1,p2p3定義。 p0點(diǎn)是曲線的起點(diǎn),而p3點(diǎn)是曲線的終點(diǎn)。曲線越線性,運(yùn)動(dòng)就越僵硬(或不那么流暢)。

如果一個(gè)點(diǎn)一開始是正數(shù),而下一個(gè)點(diǎn)是負(fù)數(shù),那么運(yùn)動(dòng)一開始就會(huì)很慢。當(dāng)點(diǎn)值變得比之前的點(diǎn)值高時(shí),運(yùn)動(dòng)加快。

這就是CSS中Cubic-Bezier點(diǎn)的含義。由于動(dòng)畫短,所以動(dòng)作很細(xì)微。彈出框從正方形底部開始時(shí)緩慢開始,然后開始加速到頂部。

盡管您可以創(chuàng)建沒(méi)有Cubic-Bezier曲線過(guò)渡的動(dòng)畫,但動(dòng)畫的差異如下:

有Cubic-Bezier曲線過(guò)渡的動(dòng)畫

CSS3中Cubic-Bezier()如何實(shí)現(xiàn)鏈接懸停動(dòng)畫效果

沒(méi)有Cubic-Bezier曲線過(guò)渡的動(dòng)畫

CSS3中Cubic-Bezier()如何實(shí)現(xiàn)鏈接懸停動(dòng)畫效果

可以看到,動(dòng)畫為懸停效果增添了生氣。

最后一組CSS涉及樣式化彈出框底部的小箭頭。要了解有關(guān)在CSS中如何制作三角形的更多信息,請(qǐng)查看此CSS技巧文章。

總結(jié)

我們創(chuàng)建了一個(gè)簡(jiǎn)約的按鈕樣式鏈接。鏈接具有基本的背景懸停效果,但我們并沒(méi)有止步于此。我們添加了一個(gè)小彈出框來(lái)顯示鏈接的文本。在CSS3 Cubic-Bezier塞爾曲線的幫助下,動(dòng)畫流暢且令人愉悅。

這類知識(shí)非常有用,可以作為你顯示社交媒體帳戶的網(wǎng)站設(shè)計(jì)的一部分。

本文示例演示和完整代碼請(qǐng)?jiān)L問(wèn)如下地址,建議PC端打開 https://coding.zhanbing.site

CSS3中Cubic-Bezier()如何實(shí)現(xiàn)鏈接懸停動(dòng)畫效果

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享CSS3中Cubic-Bezier()如何實(shí)現(xiàn)鏈接懸停動(dòng)畫效果內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問(wèn)題就找億速云,詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI