CSS3的颜色渐变效果的示例代码


Posted in HTML / CSS onSeptember 29, 2017

在animate.css寻找自己想要的动态效果,看到标题Animate.css和按钮Animate it的颜色在逐渐变化,觉得蛮有趣的,把控制变化的相关代码扒了下来,自己分析实现一波。

CSS3的颜色渐变效果的示例代码
CSS3的颜色渐变效果的示例代码

一开始认为使用了js控制颜色逐渐变化,看了看js文件,除了jQuery,就只有一小段用来DOM操作添加更改class的代码。控制颜色变化不可能在这里。联想到animate库只用css来控制动画效果,那多半在css文件里。

变化的两个部分HTML和CSS分别如下

<h1 class="site__title mega">Animate.css</h1>

.site__title {
    color: #f35626;
    background-image: -webkit-linear-gradient(92deg,#f35626,#feab3a);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-animation: hue 60s infinite linear;
}
<button class="butt js--triggerAnimation">Animate it</button>

.butt {
    border: 2px solid #f35626;
    line-height: 1.375;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-weight: 700;
    color: #f35626;
    cursor: pointer;
    -webkit-animation: hue 60s infinite linear;
}

以及一段很重要的代码

@-webkit-keyframes hue {
  from {
    -webkit-filter: hue-rotate(0deg);
  }

  to {
    -webkit-filter: hue-rotate(-360deg);
  }
}

重点部分就在于-webkit-animation,实际上animate库基本都是用的这种方式实现各种动画的。

-webkit-animation: hue 60s infinite linear;

这里定义了一个名为hue的动画名,第二个参数设置动画持续时间为60s,第三个指定动画播放次数无限次,第四个设置速度变化(从头到尾速度相同)。
CSS动画也是采用的关键帧的方法,下面的那一段就是在定义头尾的关键帧,让这个动画真正的动起来!

from {
    ...
}
to {
    ...
}

就是说从开头(0%)到结尾(100%)分别是什么状态!再结合-webkit-animation第四个参数的速度变化,让他更合理的动起来!

-webkit-filter我也不知道什么意思,查查W3C怎么讲的吧。

filter 属性定义了元素(通常是<img>)的可视效果(例如:模糊与饱和度)。

用来调整可视效果?不明觉厉。再看看属性hue-rotate()是什么意思:

给图像应用色相旋转。"angle"一值设定图像会被调整的色环角度值。值为0deg,则图像无变化。若值未设置,默认值是0deg。该值虽然没有最大值,超过360deg的值相当于又绕一圈。

色相旋转??懂了好像又没懂?作为前端工程师,基本的色彩原理还是要知道的:

CSS3的颜色渐变效果的示例代码

这就是色相环,这里是24种代表颜色,实际在屏幕上可以显示的RGB颜色有16万种。就是说,上面的颜色变化,在一分钟内有16万种变化……

上面可以很明显的知道这是一个圆环,hue-rotate()就定义了当前颜色在这个圆环上的偏转角度。

颜色变化大概就是这么多了,现在自己实现一下吧:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .title{
            color: #48c0c0;
            -webkit-animation: hue 5s infinite linear;
        }
        @keyframes hue {
            from {
                -webkit-filter: hue-rotate(0deg);
            }
            to {
                -webkit-filter: hue-rotate(360deg);
            }
        }
    </style>
</head>
<body>
    <h1 class="title">颜色渐变动画</h1>
</body>
</html>

最终的效果:

CSS3的颜色渐变效果的示例代码

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

HTML / CSS 相关文章推荐
CSS3教程(3):border-color网页边框色彩
Apr 02 HTML / CSS
使用css3实现的tab选项卡代码分享
Dec 09 HTML / CSS
CSS3实现王者匹配时的粒子动画效果
Apr 12 HTML / CSS
HTML5 本地存储 LocalStorage详解
Jun 24 HTML / CSS
浅谈cookie和localStorage那些事
Aug 27 HTML / CSS
Html5 实现微信分享及自定义内容的流程
Aug 20 HTML / CSS
html5-websocket基于远程方法调用的数据交互实现
Dec 04 HTML / CSS
HTML5 画布canvas使用方法
Mar 18 HTML / CSS
移动端HTML5实现文件上传功能【附代码】
Mar 25 HTML / CSS
canvas 实现 github404动态效果的示例代码
Nov 15 HTML / CSS
HTML5 manifest离线缓存的示例代码
Aug 08 HTML / CSS
六种css3实现的边框过渡效果
Apr 22 HTML / CSS
通过一张图教会你CSS3倒影的实现
Sep 26 #HTML / CSS
利用 CSS3 实现的无缝轮播功能代码
Sep 25 #HTML / CSS
CSS3中伪元素::before和::after的用法示例
Sep 18 #HTML / CSS
css3 pointer-events 介绍详解
Sep 18 #HTML / CSS
详解CSS3选择器:nth-child和:nth-of-type之间的差异
Sep 18 #HTML / CSS
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
Sep 15 #HTML / CSS
CSS3 Calc实现滚动条出现页面不跳动问题
Sep 14 #HTML / CSS
You might like
php学习笔记之面向对象编程
2012/12/29 PHP
php接口与接口引用的深入解析
2013/08/09 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
2007/02/15 Javascript
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
2009/05/21 Javascript
学习ExtJS TextField常用方法
2009/10/07 Javascript
Javascript面向对象设计一 工厂模式
2011/12/20 Javascript
Jquery 表单验证类介绍与实例
2013/06/09 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
JavaScript生成随机字符串的方法
2015/03/19 Javascript
JavaScript检查数字是否为整数或浮点数的方法
2015/06/09 Javascript
浅谈javascript函数式编程
2015/09/06 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
原生js实现轮播图的示例代码
2017/02/20 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
js实现手机web图片左右滑动效果
2017/12/29 Javascript
Vue2实时监听表单变化的示例讲解
2018/08/30 Javascript
解决layer.open弹出框不能获取input框的值为空的问题
2019/09/10 Javascript
[00:58]PWL开团时刻DAY5——十人开雾0换5
2020/11/04 DOTA
python用来获得图片exif信息的库实例分析
2015/03/16 Python
Python金融数据可视化汇总
2017/11/17 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
2018/02/21 Python
关于pymysql模块的使用以及代码详解
2019/09/01 Python
使用Keras训练好的.h5模型来测试一个实例
2020/07/06 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
css3实现超立体3D图片侧翻倾斜效果
2014/04/16 HTML / CSS
html5定位获取当前位置并在百度地图上显示
2014/08/22 HTML / CSS
世界上最悠久的自行车制造商:Ribble Cycles
2017/03/18 全球购物
保护环境倡议书100字
2014/05/19 职场文书
北京申奥口号
2014/06/19 职场文书
环境保护建议书
2014/08/26 职场文书
第二批党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
教师先进事迹材料
2014/12/16 职场文书
某学校的2019年度工作报告范本
2019/10/11 职场文书
用python删除文件夹中的重复图片(图片去重)
2021/05/12 Python
opencv-python图像配准(匹配和叠加)的实现
2021/06/23 Python