DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> 關於CSS >> CSS3制作hover下劃線動畫
CSS3制作hover下劃線動畫
編輯:關於CSS     

1、前幾天看到Hexo的next主題標題hover效果很炫,自己嘗試寫了一個,另一個是next的實現,照例先上圖

2、實現小黑科技

 <!-- html結構 -->
 <div>
     <a href="javascript:void(0);" class="demo1">自己實現的hover效果</a>
 </div>
/* 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結構 -->
<div>
    <a href="javascript:void(0);" class="demo2">Hexo next主題的實現</a>
</div>
/* 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一樣的效果。

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved