首頁  >  文章  >  web前端  >  CSS3 Cubic-Bezier()實作連結懸停動畫效果的方法介紹

CSS3 Cubic-Bezier()實作連結懸停動畫效果的方法介紹

青灯夜游
青灯夜游轉載
2020-12-17 09:49:542304瀏覽

CSS3 Cubic-Bezier()實作連結懸停動畫效果的方法介紹

我們將使用CSS3動畫過渡來創建簡單但引人入勝的連結懸停效果,將滑鼠懸停在連結上時,會彈出一個小彈出框。

我們也將看一下CSS3 Cubic-Bezier(貝塞爾)曲線,它是CSS過渡,為彈出框提供了更流暢的運動,而不是僵化的機械運動。

(推薦教學:CSS影片教學

這是我們最後的效果:

CSS3 Cubic-Bezier()實作連結懸停動畫效果的方法介紹

讓我們開始吧!

HTML部分

這是我們連結的HTML,圖示來自iconfont.cn。

<p>
  <section>
    <a>
      <i></i>
      <span>Instagram</span>
    </a>
    <a>
      <i></i>
      <span>Github</span>
    </a>
  </section>
</p>

當您將滑鼠停留在連結上時,span標籤將成為彈出框。接下來,我們進入CSS。

CSS樣式和動畫

我們將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%);
}

接下來,我們對連結進行樣式設置,創建簡單的背景懸停效果,並定位社交媒體圖示。

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曲線由四個點p0p1p2p3 定義。 p0點是曲線的起點,而p3點是曲線的終點。曲線越線性,運動就越僵硬(或不那麼流暢)。

如果一個點一開始是正數,而下一個點是負數,那麼運動一開始就會很慢。當點值變得比之前的點值高時,運動會加快。

這就是CSS中Cubic-Bezier點的意思。由於動畫短,所以動作很細微。彈出框從正方形底部開始時緩慢開始,然後開始加速到頂部。

儘管您可以創建沒有Cubic-Bezier曲線過渡的動畫,但動畫的差異如下:

有Cubic-Bezier曲線過渡的動畫

CSS3 Cubic-Bezier()實作連結懸停動畫效果的方法介紹

CSS3 Cubic-Bezier()實作連結懸停動畫效果的方法介紹

CSS3 Cubic-Bezier()實作連結懸停動畫效果的方法介紹

################################# ####沒有Cubic-Bezier曲線過渡的動畫###############可以看到,動畫為懸停效果增添了生氣。 ######最後一組CSS涉及樣式化彈出框底部的小箭頭。要了解有關在CSS中如何製作三角形的更多信息,請查看此CSS技巧文章。 ######總結######我們建立了一個簡約的按鈕樣式連結。連結具有基本的背景懸停效果,但我們並沒有止步於此。我們新增了一個小彈出框來顯示連結的文字。在CSS3 Cubic-Bezier塞爾曲線的幫助下,動畫流暢且令人愉悅。 ######這類知識非常有用,可以作為你顯示社群媒體帳號的網站設計的一部分。 ######本文範例示範與完整程式碼請造訪以下位址,建議PC端開啟https://coding.zhanbing.site###############更多程式相關知識,請造訪:###程式設計入門###! ! ###

以上是CSS3 Cubic-Bezier()實作連結懸停動畫效果的方法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除