CSS3制作hover下划线动画


Posted in HTML / CSS onMarch 27, 2017

1、前几天看到Hexo的next主题标题hover效果很炫,自己尝试写了一个,另一个是next的实现,照例先上图

CSS3制作hover下划线动画

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一样的效果。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

HTML / CSS 相关文章推荐
CSS3中Color的一些特性介绍
May 27 HTML / CSS
Web页面中八种创建多列等高(等高列布局)的实现技术
Dec 24 HTML / CSS
css3的transition属性详解
Dec 15 HTML / CSS
CSS3中使用RGBA设置透明度的示例
Aug 04 HTML / CSS
基于第一个PhoneGap(cordova)的应用详解
May 03 HTML / CSS
HTML5新增的Css选择器、伪类介绍
Aug 07 HTML / CSS
html5小技巧之通过document.head获取head元素
Jun 04 HTML / CSS
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
Jun 23 HTML / CSS
Html5+JS实现手机摇一摇功能
Apr 24 HTML / CSS
Html5 new XMLHttpRequest()监听附件上传进度
Jan 14 HTML / CSS
CSS 实现Chrome标签栏的技巧
Aug 04 HTML / CSS
CSS实现背景图片全屏铺满自适应的3种方式
Jul 07 HTML / CSS
利用CSS3制作简单的3d半透明立方体图片展示
Mar 25 #HTML / CSS
利用CSS3实现进度条的两种姿势详解
Mar 21 #HTML / CSS
CSS3实现头像旋转效果
Mar 13 #HTML / CSS
用React加CSS3实现微信拆红包动画效果
Mar 13 #HTML / CSS
css3类选择器之结合元素选择器和多类选择器用法
Mar 09 #HTML / CSS
利用Bootstrap实现漂亮简洁的CSS3价格表实例源码
Mar 02 #HTML / CSS
CSS3实现点击放大的动画实例代码
Feb 27 #HTML / CSS
You might like
跨浏览器的事件对象介绍
2012/06/27 Javascript
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
学习JavaScript设计模式之装饰者模式
2016/01/19 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
Bootstrapvalidator校验、校验清除重置的实现代码(推荐)
2016/09/28 Javascript
js仿百度音乐全选操作
2017/01/13 Javascript
在点击div中的p时,如何阻止事件冒泡
2017/02/07 Javascript
为你的微信小程序体积瘦身详解
2017/05/20 Javascript
前端跨域的几种解决方式总结(推荐)
2017/08/16 Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
2017/10/13 jQuery
详解Nodejs mongoose
2018/06/10 NodeJs
如何去除富文本中的html标签及vue、react、微信小程序中的过滤器
2018/11/21 Javascript
详解微信小程序之scroll-view的flex布局问题
2019/01/16 Javascript
js的各种数据类型判断的介绍
2019/01/19 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
Python enumerate遍历数组示例应用
2008/09/06 Python
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
利用python将xml文件解析成html文件的实现方法
2017/12/22 Python
Python实现的计算器功能示例
2018/04/26 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
2018/08/03 Python
python文件转为exe文件的方法及用法详解
2019/07/08 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
Python3标准库之threading进程中管理并发操作方法
2020/03/30 Python
Python pickle模块常用方法代码实例
2020/10/10 Python
详解通过变换矩阵实现canvas的缩放功能
2019/01/14 HTML / CSS
关于canvas.toDataURL 在iOS运行失败的问题解决
2020/09/16 HTML / CSS
美国领先的低折扣旅行网站:Hotwire
2019/01/19 全球购物
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
2013/07/06 面试题
文史专业毕业生自荐信
2013/11/17 职场文书
委托书范本
2014/04/02 职场文书
2014最新离职证明范本
2014/09/12 职场文书
庆六一宣传标语
2014/10/08 职场文书
乡镇群众路线专项整治方案
2014/11/03 职场文书
关于HTML编码导致的乱码问题
2021/09/04 HTML / CSS
Java 异步任务计算FutureTask
2022/04/28 Java/Android