CSS3之transition实现下划线的示例代码


Posted in HTML / CSS onMay 30, 2018

本文章介绍了CSS3之transition实现下划线的示例代码,分享给大家,具体如下:

在这里先看看我们的demo

CSS3之transition实现下划线的示例代码

认识transition

这是CSS3中新增的一个样式,可以实现动画的过度。通常使用在添加某种效果可以从一种样式转变到另一个的时候。

transition属性

  1. transition: 简写属性,用于在一个属性中设置四个过渡属性。
  2. transition-property: 规定应用过渡的 CSS 属性的名称。
  3. transition-duration: 定义过渡效果花费的时间。默认是 0。
  4. transition-timing-function: 规定过渡效果的时间曲线。默认是 "ease"。
    1. linear: 规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))
    2. ease: 规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))
    3. ease-in: 规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))
    4. ease-out: 规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))
    5. ease-in-out: 规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))
    6. cubic-bezier(n,n,n,n): 在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。
  5. transition-delay: 规定过渡效果何时开始。默认是 0。

transition: width 1s linear 2s;        /*简写实例*/

/*等同如下*/
transition-property: width;
transition-duration: 1s;
transition-timing-function: linear;
transition-delay: 2s;

tranform属性

  • translate() 根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。
  • rotate() 在一个给定度数顺时针旋转的元素。负值是允许的,这样是元素逆时针旋转。
  • scale() 该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数:
  • skew() 包含两个参数值,分别表示X轴和Y轴倾斜的角度,如果第二个参数为空,则默认为0,参数为负表示向相反方向倾斜。
  • matrix() matrix 方法有六个参数,包含旋转,缩放,移动(平移)和倾斜功能。

实现我们需要的效果

当然,在这就直接放出代码,代码中有注释方便理解

/*css代码*/

h2{
    position: relative;
    padding: 15px;
    text-align: center;    
}
button{
    width: 100px;
    height: 40px;
    border-radius: 15px;
    border: none;
    background: #188FF7;
    color: #fff;
    outline: none;
    cursor: pointer;
    font-weight: bold;
}
button:hover{
    background: #188EA7;
}
.container{
    width: 600px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    
}
.line{
    position: absolute;
    left: 0;
    bottom: 0;
    height: 3px;
    width: 100%;
    transition: transform .5s;
    background: #188EA7;
    color: #188EA7;
    transform: scaleX(0);
    z-index: 1111;            
}

@keyframes changeColor1{
    from{
        color: #000;
    }
    to{
        color: #188EA7;
    }
}
@keyframes changeColor2{
    from{                
        color: #188EA7;
    }
    to{
        color: #000;
    }
}
<!--html代码-->

<div class="container">
    <h2 id="title">
        百度前端学院
        <i class="line" id="line"></i>
    </h2>
    <button id="change">Change</button>
</div>
//js部分代码

(function () {
    let btn = document.getElementById('change');
    let h2 = document.getElementById('title');
    let line = document.getElementById('line');
    let count = 0;
    btn.onclick = function () {
        if(count%2===0){
            line.style.transform = "scaleX(1)";
            h2.style.animation = "changeColor1 1s";
            h2.style.color = "#188EA7";
            count++;
        }else{
            line.style.transform = "scaleX(0)";
            h2.style.animation = "changeColor2 1s";
            h2.style.color = "#000";
            count++;
        }
        
    }
})();

总结

到这里我们就已经将此效果完全呈现,同时我们也学习了CSS3中的transition属性和tranform属性。当然完成此动画还需要有一些html和css基础。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
css3 border-radius属性详解
Jul 05 HTML / CSS
各大浏览器 CSS3 和 HTML5 兼容速查表 图文
Apr 01 HTML / CSS
使用JS+CSS3技术:让你的名字动起来
Apr 27 HTML / CSS
CSS3制作酷炫的三维相册效果
Jul 01 HTML / CSS
css3给背景图片加颜色遮罩的方法
Nov 05 HTML / CSS
html5 canvas绘制放射性渐变色效果
Jan 04 HTML / CSS
html+css实现自定义图片上传按钮功能
Sep 04 HTML / CSS
html5基础标签(html5视频标签 html5新标签用法)
Dec 30 HTML / CSS
HTMl5的存储方式sessionStorage和localStorage详解
Mar 18 HTML / CSS
五个2015 年最佳HTML5 框架
Nov 11 HTML / CSS
iphoneX 适配客户端H5页面的方法教程
Dec 08 HTML / CSS
html中显示特殊符号(附带特殊字符对应表)
Jun 21 HTML / CSS
CSS3实现可翻转的hover效果
May 23 #HTML / CSS
详解如何在css中引入自定义字体(font-face)
May 17 #HTML / CSS
CSS3实现多样的边框效果
May 04 #HTML / CSS
纯css3制作煽动翅膀的蝴蝶的示例
Apr 23 #HTML / CSS
CSS3使用transition属性实现过渡效果
Apr 18 #HTML / CSS
CSS3 二级导航菜单的制作的示例
Apr 02 #HTML / CSS
CSS3实现全景图特效示例代码
Mar 26 #HTML / CSS
You might like
destoon实现调用热门关键字的方法
2014/07/15 PHP
Laravel 5框架学习之Eloquent 关系
2015/04/09 PHP
PHP类的封装与继承详解
2015/09/29 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
php中时间函数date及常用的时间计算
2017/05/12 PHP
php mysql数据库操作类(实例讲解)
2017/08/06 PHP
RSA实现JS前端加密与PHP后端解密功能示例
2019/08/05 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
JavaScript 模仿vbs中的 DateAdd() 函数的代码
2007/08/13 Javascript
Jquery实现自定义tooltip示例代码
2014/02/12 Javascript
javascript实时显示北京时间的方法
2015/03/12 Javascript
基于canvas实现的绚丽圆圈效果完整实例
2016/01/26 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
微信小程序之拖拽排序(代码分享)
2017/01/21 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
2017/02/10 Javascript
Vue响应式原理Observer、Dep、Watcher理解
2019/06/06 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
解决layui批量传值到后台操作时出现传值为空的问题
2019/09/28 Javascript
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
[01:38]完美世界DOTA2联赛PWL S3 集锦第四期
2020/12/21 DOTA
Python使用代理抓取网站图片(多线程)
2014/03/14 Python
详解通过API管理或定制开发ECS实例
2018/09/30 Python
Python GUI编程 文本弹窗的实例
2019/06/11 Python
浅谈Python3识别判断图片主要颜色并和颜色库进行对比的方法
2019/10/25 Python
在python中计算ssim的方法(与Matlab结果一致)
2019/12/19 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
Django Model中字段(field)的各种选项说明
2020/05/19 Python
尽职尽责村干部自我鉴定
2014/01/23 职场文书
手机促销活动方案
2014/02/05 职场文书
眼镜促销方案
2014/03/15 职场文书
售后客服工作职责
2014/06/16 职场文书
企业读书活动总结
2014/06/30 职场文书
公民代理授权委托书
2014/09/24 职场文书
盗窃案辩护词
2015/05/21 职场文书
学会掌握自己命运的十条黄金法则:
2019/08/08 职场文书
写好Python代码的几条重要技巧
2021/05/21 Python