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 相关文章推荐
使用before和:after伪类制作css3圆形按钮
Apr 08 HTML / CSS
CSS3哪些新特性值得称赞
Mar 02 HTML / CSS
Grid 宫格常用布局的实现
Jan 10 HTML / CSS
HTML5新增元素如何兼容旧浏览器有哪些方法
May 09 HTML / CSS
通过HTML5规范搞定i、em、b、strong元素的区别
Mar 04 HTML / CSS
canvas因为图片资源不在同一域名下而导致的跨域污染画布的解决办法
Jan 18 HTML / CSS
吃透移动端 Html5 响应式布局
Dec 16 HTML / CSS
html5利用canvas实现颜色容差抠图功能
Dec 23 HTML / CSS
video下autoplay属性无效的解决方法(添加muted属性)
May 19 HTML / CSS
CSS实现多个元素在盒子内两端对齐效果
Mar 30 HTML / CSS
html+css合并表格边框的示例代码
Mar 31 HTML / CSS
HTML页面点击按钮关闭页面的多种方式
Dec 24 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
丧钟首部独立剧集《丧钟:骑士与龙》北美正式开播,场面血腥
2020/04/09 欧美动漫
用php实现批量查询清除一句话后门的代码
2008/01/20 PHP
PHP使用ob_start生成html页面的方法
2014/11/07 PHP
php禁用函数设置及查看方法详解
2016/07/25 PHP
Laravel中如何增加自定义全局函数详解
2017/05/09 PHP
PHP实现字符串的全排列详解
2019/04/24 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
超酷的网页音乐播放器DewPlayer使用方法
2010/12/18 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
原生js制作简单的数字键盘
2015/04/24 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
Angular 路由route实例代码
2016/07/12 Javascript
jQuery stop()用法实例详解
2016/07/28 Javascript
AngularJS 与百度地图的结合实例
2016/10/20 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
详解vue.js之绑定class和style的示例代码
2017/08/24 Javascript
微信小程序顶部导航栏滑动tab效果
2019/01/28 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
2019/04/07 Javascript
uni-app微信小程序登录授权的实现
2020/05/22 Javascript
详细介绍Python语言中的按位运算符
2013/11/26 Python
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
pyqt5简介及安装方法介绍
2018/01/31 Python
20个常用Python运维库和模块
2018/02/12 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
Python2.7环境Flask框架安装简明教程【已测试】
2018/07/13 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
python3 打印输出字典中特定的某个key的方法示例
2019/07/06 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
python第三方库学习笔记
2020/02/07 Python
解决Pyinstaller打包软件失败的一个坑
2021/03/04 Python
使用CSS3的::selection改变选中文本颜色的方法
2015/09/29 HTML / CSS
css3类选择器之结合元素选择器和多类选择器用法
2017/03/09 HTML / CSS
委托书范本
2014/04/02 职场文书
自强之星事迹材料
2014/05/12 职场文书
2014党员学习习主席讲话思想汇报
2014/09/15 职场文书
教师群众路线剖析材料
2014/09/29 职场文书