最近看到了一个特别炫酷的网站上的一个小细节,下划线的动画。看下他的实现效果。 但是,假如我们左边并没有足够的空间存放一条不可见的下划线呢? 像这样。 思路与实现 我要把
最近看到了一个特别炫酷的网站上的一个小细节,下划线的动画。看下他的实现效果。 但是,假如我们左边并没有足够的空间存放一条不可见的下划线呢? 像这样。 思路与实现我要把这个下划线也做成文章刚开始的动画。就不是太好借鉴上面的思路。那我的新思路就是给鼠标移入(hover)操作整两个动画,但一个元素又不能添加两个animation,如果要更换类选择器,又要动用到JS代码,太麻烦了。 于是我就想到了CSS中的::before和::after选择器呀。让before的线初始宽度为0,鼠标移入就变成100%;让after的线初始宽度为100%,鼠标移入就变成0,这样不就得了。
before的实现
单独使用上面这段代码可以实现的效果是 after的实现
单独使用上面这段代码可以实现的效果是 before和after同时使用把上面两段代码放一起,就是我们想要的效果了吧。是不是有人蠢蠢欲动啦。但是!!! 动手快的小伙伴会发现,诶?我两段代码放一起,怎么效果都没了??? 你猜猜,为什么? 好,当然是因为当你把这两个动作同时实现的时候,效果抵消了呀。before往右走的同时after也在往右走,中间根本没有间隙,哪怕他有动画效果,你也是看不见的呀。 所以!!!加个延迟效果咯。
最终效果的实现想想,该让它怎么加这个延迟,才能实现文章刚开始的效果呢? 1.before的动画需要在鼠标刚移入时有延迟,但是鼠标移出时立即执行; 只有这样,才能有肉眼可见的闪烁效果。在上面的代码中分别加上如下字段就可以啦~~~
看!这样就做完咯! |
2021-04-14
2021-04-29
2018-01-07
2022-06-10
2021-09-30