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的rem属性制作响应式页面布局的要点解析
May 24 HTML / CSS
CSS3 background-image颜色渐变的实现代码
Sep 13 HTML / CSS
纯CSS3制作漂亮带动画效果的主机价格表
Apr 25 HTML / CSS
使用CSS3创建动态菜单效果
Jul 10 HTML / CSS
CSS3制作皮卡丘动画壁纸的示例
Nov 02 HTML / CSS
html5中监听canvas内部元素点击事件的三种方法
Apr 28 HTML / CSS
HTML5 window/iframe跨域传递消息 API介绍
Aug 26 HTML / CSS
HTML5 canvas基本绘图之绘制线条
Jun 27 HTML / CSS
HTML5实现签到 功能
Oct 09 HTML / CSS
html5 datalist 选中option选项后的触发事件
Mar 05 HTML / CSS
HTML里显示pdf、word、xls、ppt的方法示例
Apr 14 HTML / CSS
CSS list-style-type属性使用方法
May 21 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
PHP SQLite类
2009/05/07 PHP
JavaScript实现滚动栏效果的方法
2015/04/27 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
PHP最常用的正则表达式
2017/02/13 PHP
用Javascript 获取页面元素的位置的代码
2009/09/25 Javascript
JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型
2012/10/11 Javascript
js淡入淡出的图片轮播效果代码分享
2015/08/24 Javascript
javascript中加var和不加var的区别 你真的懂吗
2016/01/06 Javascript
JS 实现随机验证码功能
2017/02/15 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
2017/02/17 Javascript
JS实现列表页面隔行变色效果
2017/03/25 Javascript
Vue通过input筛选数据
2020/10/26 Javascript
vue2中使用sass并配置全局的sass样式变量的方法
2018/09/04 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 jQuery
NodeJS实现一个聊天室功能
2019/11/25 NodeJs
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
python3音乐播放器简单实现代码
2020/04/20 Python
详解Python实现多进程异步事件驱动引擎
2017/08/25 Python
Python 25行代码实现的RSA算法详解
2018/04/10 Python
python 将json数据提取转化为txt的方法
2018/10/26 Python
python opencv 图像拼接的实现方法
2019/06/27 Python
python字符串反转的四种方法详解
2019/12/02 Python
解决tensorboard多个events文件显示紊乱的问题
2020/02/15 Python
Python批量修改xml的坐标值全部转为整数的实例代码
2020/11/26 Python
Vilebrequin美国官方网上商店:法国豪华泳装品牌
2020/02/22 全球购物
求职简历自我评价范例
2014/03/12 职场文书
烹饪大赛策划方案
2014/05/26 职场文书
社区禁毒工作方案
2014/06/02 职场文书
初中差生评语
2014/12/29 职场文书
聘任证明怎么写
2015/03/02 职场文书
公司放假通知范文
2015/04/14 职场文书
2015年餐厅服务员工作总结
2015/04/23 职场文书
2016猴年春节问候语
2015/11/11 职场文书
创业计划书之寿司
2019/07/19 职场文书
漫画「日和酱的要求是绝对的」第3卷封面公开
2022/03/21 日漫
python数字图像处理之图像自动阈值分割示例
2022/06/28 Python