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 相关文章推荐
分享8款纯CSS3实现的搜索框功能
Sep 14 HTML / CSS
各大浏览器 CSS3 和 HTML5 兼容速查表 图文
Apr 01 HTML / CSS
基于css3仿造window7的开始菜单
Jun 17 HTML / CSS
css3实现的多级渐变下拉菜单导航效果代码
Aug 31 HTML / CSS
css3动画 小球滚动 js控制动画暂停
Nov 29 HTML / CSS
html5 sessionStorage会话存储_动力节点Java学院整理
Jul 06 HTML / CSS
HTML5中语义化 b 和 i 标签
Oct 17 HTML / CSS
html5基础教程常用技巧整理
Aug 20 HTML / CSS
html5使用canvas画空心圆与实心圆
Dec 15 HTML / CSS
通过HTML5规范搞定i、em、b、strong元素的区别
Mar 04 HTML / CSS
基于HTML5 WebGL的3D机房的示例
Mar 16 HTML / CSS
浅谈Html5页面打开app的一些思考
Mar 30 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
第八节--访问方式
2006/11/16 PHP
解析smarty模板中类似for的功能实现
2013/06/18 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
Yii2实现上下联动下拉框功能的方法
2016/08/10 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
扩展js对象数组的OrderByAsc和OrderByDesc方法实现思路
2013/05/17 Javascript
Javascript/Jquery——简单定时器的多种实现方法
2013/07/03 Javascript
常用js字符串判断方法整理
2013/10/18 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
javascript实现汉字转拼音代码分享
2015/04/20 Javascript
原生js封装二级城市下拉列表的实现代码
2016/06/16 Javascript
zTree树形插件异步加载方法详解
2017/06/14 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
2017/12/09 Javascript
使用npm安装最新版本nodejs
2018/01/18 NodeJs
微信小程序实现美团菜单
2018/06/06 Javascript
图解NodeJS实现登录注册功能
2019/09/16 NodeJs
javascript json对象小技巧之键名作为变量用法分析
2019/11/11 Javascript
angular inputNumber指令输入框只能输入数字的实现
2019/12/03 Javascript
python将字符串转换成数组的方法
2015/04/29 Python
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
对python中的xlsxwriter库简单分析
2018/05/04 Python
Django实现学员管理系统
2019/02/26 Python
python 命令行传入参数实现解析
2019/08/30 Python
基于python实现图片转字符画代码实例
2020/09/04 Python
python录音并调用百度语音识别接口的示例
2020/12/01 Python
Ootori在线按摩椅店:一家专业的按摩椅制造商
2019/04/10 全球购物
Java servlet面试题
2012/03/04 面试题
物业管理专业个人的自我评价
2013/11/19 职场文书
保洁主管岗位职责
2013/11/20 职场文书
人力资源部培训专员岗位职责
2014/01/02 职场文书
中央空调节能方案
2014/06/15 职场文书
六一儿童节活动总结
2014/08/27 职场文书
如何签定毕业生就业协议书
2014/09/28 职场文书
2014年机关后勤工作总结
2014/12/16 职场文书
高中信息技术教学反思
2016/02/16 职场文书
永中文档在线转换预览基于nginx配置部署方案
2022/06/10 Servers