純CSS實現(xiàn)了下劃線的交互動畫效果

背景
最近看到了一個特別炫酷的網(wǎng)站上的一個小細節(jié),下劃線的動畫??聪滤膶崿F(xiàn)效果。
但是,假如我們左邊并沒有足夠的空間存放一條不可見的下劃線呢? 像這樣。
思路與實現(xiàn)
我要把這個下劃線也做成文章剛開始的動畫。就不是太好借鑒上面的思路。那我的新思路就是給鼠標移入(hover)操作整兩個動畫,但一個元素又不能添加兩個animation
,如果要更換類選擇器,又要動用到JS代碼,太麻煩了。
于是我就想到了CSS中的::before
和::after
選擇器呀。讓before的線初始寬度為0,鼠標移入就變成100%;讓after的線初始寬度為100%,鼠標移入就變成0,這樣不就得了。
前提你要記住。
1.使用width:100%的前提是讓其本身或父元素有實際的寬度,我用了
width:fit-content
。
2.使用position: absolute的前提是讓其父元素有非static的position
。
before的實現(xiàn)
.underline::before{content: "";display: block;position: absolute;height: 1px;background: #000;width: 0;//初始寬度為0left: 0;bottom: 0;transition: width 1s; } .underline:hover::before {width: 100%;//鼠標移入就變成100% }
單獨使用上面這段代碼可以實現(xiàn)的效果是
after的實現(xiàn)
.underline::after{content: "";display: block;height: 1px;background: #000;width: 100%;position: absolute;right: 0;bottom: 0;transition: width 1s; } .underline:hover::after{width: 0; }
單獨使用上面這段代碼可以實現(xiàn)的效果是
before和after同時使用
把上面兩段代碼放一起,就是我們想要的效果了吧。是不是有人蠢蠢欲動啦。但是?。?!
動手快的小伙伴會發(fā)現(xiàn),誒?我兩段代碼放一起,怎么效果都沒了???
你猜猜,為什么?
好,當然是因為當你把這兩個動作同時實現(xiàn)的時候,效果抵消了呀。before往右走的同時after也在往右走,中間根本沒有間隙,哪怕他有動畫效果,你也是看不見的呀。
所以?。?!加個延遲效果咯。
transition-delay:表明動畫效果屬性生效之前需要等待的時間。
最終效果的實現(xiàn)
想想,該讓它怎么加這個延遲,才能實現(xiàn)文章剛開始的效果呢?
1.before的動畫需要在鼠標剛移入時有延遲,但是鼠標移出時立即執(zhí)行;
2.after的動畫需要在鼠標剛移入時立即執(zhí)行,鼠標移出時有對應的延遲時間。
只有這樣,才能有肉眼可見的閃爍效果。在上面的代碼中分別加上如下字段就可以啦~~~
.underline::before{transition-delay: 0s; } .underline:hover::before {transition-delay: 1s; } .underline::after{transition-delay: 1s; } .underline:hover::after{transition-delay: 0s; }
看!這樣就做完咯!
到此這篇關于純CSS實現(xiàn)了下劃線的交互動畫效果的文章就介紹到這了,更多相關CSS下劃線交互內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持腳本之家!
相關文章
- 這篇文章主要介紹了Css和JS實現(xiàn)下劃線動效的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學2020-02-03
- 這篇文章主要介紹了純CSS實現(xiàn)導航欄下劃線跟隨效果,本文圖文并茂實例代碼詳解,給大家介紹的非常詳細,需要的朋友參考下吧2019-12-09
- 這篇文章主要介紹了純CSS實現(xiàn)導航欄下劃線跟隨的示例代碼的相關資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-11
- 這篇文章主要介紹了純CSS實現(xiàn)導航欄下劃線跟隨滑動效果,需要的朋友可以參考下2018-03-29
- 這篇文章主要介紹了CSS中的下劃線text-decoration屬性使用進階,文章前面則使用摘自w3cschool的基本使用知識進行小回顧,需要的朋友可以參考下2015-08-12
- 用過CSS hack的朋友應該知道,用下劃線命名也是一種hack,如使用_style這樣的命名,可以讓IE外的大部分瀏覽器忽略這個樣式的定義。這篇文章主要為大家介紹了css布局命名時2014-06-16
- 下面為大家展示一個實例:未被點擊時超鏈接文字無下劃線,顯示為藍色;當鼠標在鏈接上時有下劃線,鏈接文字顯示為紅色;當點擊鏈接后,鏈接無下劃線,顯示為綠色,感興趣的2013-06-21