本文主要介紹了CSS3製作hover下劃線動畫的方法步驟。具有很好的參考價值。下面跟著小編一起來看下吧
1、前幾天看到Hexo的next主題標題hover效果很炫,自己嘗試寫了一個,另一個是next的實現,照例先上圖
#2、實作小黑科技
<!-- html结构 --> <p> <a>自己实现的hover效果</a> </p>
/* css样式 */ .demo1{ position: relative; text-decoration: none; font-size: 20px; color: #333; } .demo1:before{ content: ""; position: absolute; left: 50%; bottom: -2px; width: 0; height: 2px; background: #4285f4; transition: all .3s; } .demo1:hover:before{ width: 100%; left: 0; right: 0; }
關鍵在於沒有hover的時候定義width為0,這樣可以實現寬度從0到100%的變化。
left為50%,目的是為了動畫開始的位置是在50%的位置。
3、hexo next主題的官方實作
<!-- html结构 --> <p> <a>Hexo next主题的实现</a> </p>
/* css样式 */ .demo2{ position: relative; text-decoration: none; font-size: 20px; color: #333; } .demo2:before{ content: ""; position: absolute; left: 0; bottom: -2px; height: 2px; width: 100%; background: #4285f4; transform: scale(0); transition: all 0.3s; } .demo2:hover:before{ transform: scale(1); }
這個實作的關鍵就是scale(0)到scale(1)的變化。
CSS3的scale transform的原點是中點,所以會從中間的位置開始動畫。
4、兩者差異
透過動畫也看出來,next的動畫有透明漸變的效果,和scale的表現形式有關。
第一個實作只是width變化,但也可以用animation實現和next一樣的效果。
以上是使用CSS3製作hover底線動畫方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!