CSS3制作hover下劃線動(dòng)畫

1、前幾天看到Hexo的next主題標(biāo)題hover效果很炫,自己嘗試寫了一個(gè),另一個(gè)是next的實(shí)現(xiàn),照例先上圖
2、實(shí)現(xiàn)小黑科技
<!-- html結(jié)構(gòu) --> <div> <a href="javascript:void(0);" class="demo1">自己實(shí)現(xiàn)的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; }
關(guān)鍵在于沒有hover的時(shí)候定義width為0,這樣可以實(shí)現(xiàn)寬度從0到100%的變化。
left為50%,目的是為了動(dòng)畫開始的位置是在50%的位置。
3、hexo next主題的官方實(shí)現(xiàn)
<!-- html結(jié)構(gòu) --> <div> <a href="javascript:void(0);" class="demo2">Hexo next主題的實(shí)現(xiàn)</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); }
這個(gè)實(shí)現(xiàn)的關(guān)鍵就是scale(0)到scale(1)的變化。
CSS3的scale transform的原點(diǎn)是中點(diǎn),所以會(huì)從中間的位置開始動(dòng)畫。
4、兩者區(qū)別
通過(guò)動(dòng)畫也看出來(lái),next的動(dòng)畫有透明漸變的效果,和scale的表現(xiàn)形式有關(guān)。
第一個(gè)實(shí)現(xiàn)只是width變化,但是也可以用animation實(shí)現(xiàn)和next一樣的效果。
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
- 這是一套使用純CSS3制作的帶下劃線跟隨效果的下拉菜單特效的代碼,通過(guò)CSS3 transform和transition來(lái)制作。歡迎下載使用2016-10-17
- 這篇文章主要為大家詳細(xì)介紹了CSS3有活力的鏈接下劃線繪制方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-14
CSS中的下劃線text-decoration屬性使用進(jìn)階
這篇文章主要介紹了CSS中的下劃線text-decoration屬性使用進(jìn)階,文章前面則使用摘自w3cschool的基本使用知識(shí)進(jìn)行小回顧,需要的朋友可以參考下2015-08-12CSS3實(shí)現(xiàn)下劃線跟隨動(dòng)畫且背景色漸變菜單源碼
一款CSS3實(shí)現(xiàn)的動(dòng)畫菜單,這款菜單的特點(diǎn)就是有一條下劃線跟隨鼠標(biāo)移動(dòng),當(dāng)鼠標(biāo)滑過(guò)菜單項(xiàng)時(shí),下劃線跟隨動(dòng)畫就會(huì)出現(xiàn),并對(duì)當(dāng)前激活的菜單項(xiàng)進(jìn)行下劃線加粗。此外,菜單項(xiàng)2014-06-19- 用過(guò)CSS hack的朋友應(yīng)該知道,用下劃線命名也是一種hack,如使用_style這樣的命名,可以讓IE外的大部分瀏覽器忽略這個(gè)樣式的定義。這篇文章主要為大家介紹了css布局命名時(shí)2014-06-16
- 下面為大家展示一個(gè)實(shí)例:未被點(diǎn)擊時(shí)超鏈接文字無(wú)下劃線,顯示為藍(lán)色;當(dāng)鼠標(biāo)在鏈接上時(shí)有下劃線,鏈接文字顯示為紅色;當(dāng)點(diǎn)擊鏈接后,鏈接無(wú)下劃線,顯示為綠色,感興趣的2013-06-21
- 這篇文章主要介紹了純CSS實(shí)現(xiàn)導(dǎo)航欄下劃線跟隨效果,本文圖文并茂實(shí)例代碼詳解,給大家介紹的非常詳細(xì),需要的朋友參考下吧2019-12-09