纯js和css实现渐变色包括静态渐变和动态渐变


Posted in Javascript onMay 29, 2014

说起“渐变色”,你会想起什么?

当我开始搜索查找这个名词的时候,才发现它实际上是有两种理解或者说是两种形式的:动态渐变和静态渐变。

所谓动态渐变,举个简单的例子:他来了,她的脸渐渐红了...渐渐的,渐渐改变的,是不断在改变的;而静态渐变,也就更简单了:天上一到彩虹,赤橙黄绿青蓝紫啊...在当前展示的成品中,颜色从一部分到另一部分的颜色是不一样的,可能幅度比较小,是逐渐改变的,但有一点是至关重要的,它已经存在了,形成了变化的现状且无法再改变。

这样我们先来用javascript实现一下所谓的动态渐变,考虑动态原因就不上图了,我来简单介绍下思路:

* 动态渐变

<span style="font-size:12px;"><html> 
... 
<body> 
<center> 
<div id="fade" style="width:600px;height:200px;"></div> 
</center> 
</body> 
</html></span>

为了方便查看,我写的是内嵌样式,还是推荐使用外链样式的使用啊,接下来进行简单编写动态实现渐变效果:
<span style="font-size:12px;"><script type="text/javascript"> 
var node=document.getElementById("fade"); 
var color="#0000"; 
var level=1; window.load=function fading(){ 
node.style.background=color.+level.toString()+level.toString(); 
level++; 
if(level>16){ 
clearTimeOut(fading); 
}else{ 
setTimeOut(fading,300); 
} 
} 
<script></span>

这样看来我不用多说了吧,就一个拼接和一个重复调用的问题。

* 静态渐变

先来附图,大家看看效果,大体明白神马意思。
纯js和css实现渐变色包括静态渐变和动态渐变 
在不考虑兼容的前提下,额,真改研究下兼容了,这弄界面不考虑兼容有点缺啊,好吧,先这样继续说,我是用的webkit内核,就先用这个来介绍

在css样式中添加:

background:-webkit-gradient(linear, 100% 0%, 0% 0%, from(#ffffff),color-stop(0.5,#0000ff),to(#ffffff));

简单解释下:

linear:这个就碰到了线性渐变和径向渐变的两个概念,无非是在一条线上进行变化的线性和像圆一样向四周扩散的径向;

后面的四个值:分别代表相应方向的px值,可以从左顺时针转的顺序记忆,但是它代表的是to,截止到的颜色

from:这就是开始的颜色了

to:和from是同时出现的,最后渐变结束的颜色

而color-stop:则是指在变化到线的哪个位置的时候会出现什么颜色,当然是从周围过渡过去的,相当于from,to过渡点,from过渡点,to;

好了,这样就明白多了吧,附送下简单的其他的基本代码

FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=1,startColorStr=#b8c4cb,endColorStr=#f6f6f8);/*IE6*/ 
background:-moz-linear-gradient(left,#ffffff,#ff0000);/*非IE6的其它*/ 
background:-webkit-gradient(linear, 100% 0%, 0% 0%, from(#ff0000), to(#0000ff));/*非IE6的其它*/

今天看了一集《开讲了》,原来还有这么好看的节目,太lower了么我....
Javascript 相关文章推荐
Firefox getBoxObjectFor getBoundingClientRect联系
Oct 26 Javascript
分享XmlHttpRequest调用Webservice的一点心得
Jul 20 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
Jul 17 Javascript
详解JavaScript函数
Dec 01 Javascript
js中scrollTop()方法和scroll()方法用法示例
Oct 03 Javascript
用jQuery.ajaxSetup实现对请求和响应数据的过滤
Dec 20 Javascript
Vue单文件组件的如何使用方式介绍
Jul 28 Javascript
AngularJS实现controller控制器间共享数据的方法示例
Oct 30 Javascript
vue.js提交按钮时进行简单的if判断表达式详解
Aug 08 Javascript
详解Node.js一行命令上传本地文件到服务器
Apr 22 Javascript
详解在vue-cli3.0中自定css、js和图片的打包路径
Aug 26 Javascript
微信小程序个人中心的列表控件实现代码
Apr 26 Javascript
js实现页面跳转重定向的几种方式
May 29 #Javascript
用js闭包的方法实现多点标注冒泡示例
May 29 #Javascript
关于JavaScript中name的意义冲突示例介绍
May 29 #Javascript
window.open()详解及浏览器兼容性问题示例探讨
May 29 #Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
May 28 #Javascript
href下载文件根据id取url并下载
May 28 #Javascript
javascript自定义的addClass()方法
May 28 #Javascript
You might like
php中的一些数组排序方法分享
2012/07/20 PHP
解析linux下安装memcacheq(mcq)全过程笔记
2013/06/27 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
PHP快速排序quicksort实例详解
2016/09/28 PHP
深入了解PHP中的Array数组和foreach
2016/11/06 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
PHP实现正则匹配所有括号中的内容
2018/06/22 PHP
javascript里模拟sleep(两种实现方式)
2013/01/25 Javascript
js操作checkbox遇到的问题解决
2013/06/29 Javascript
javascript的alert box在java中如何显示多行
2014/05/18 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
Javascript实现苹果悬浮虚拟按钮
2016/04/10 Javascript
React简单介绍
2017/05/24 Javascript
vue2.0 实现导航守卫的具体用法(路由守卫)
2018/05/17 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
2019/04/12 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
2019/05/22 Javascript
layui switch 开关监听 弹出确定状态转换的例子
2019/09/21 Javascript
Echarts实现多条折线可拖拽效果
2019/12/19 Javascript
JavaScript Html实现移动端红包雨功能页面
2021/01/10 Javascript
[02:10]三分钟回顾完美世界城市挑战赛
2019/01/24 DOTA
跟老齐学Python之私有函数和专有方法
2014/10/24 Python
python用reduce和map把字符串转为数字的方法
2016/12/19 Python
详解Python中表达式i += x与i = i + x是否等价
2017/02/08 Python
Python装饰器简单用法实例小结
2018/12/03 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
2018/12/05 Python
Python图像处理之gif动态图的解析与合成操作详解
2018/12/30 Python
使用python 打开文件并做匹配处理的实例
2019/01/02 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
银行员工职业规划范文
2014/01/21 职场文书
银行业务授权委托书
2014/10/10 职场文书
大学同学聚会感言
2015/07/30 职场文书
团结友爱主题班会
2015/08/13 职场文书
党务工作者主要事迹材料
2015/11/03 职场文书
Springboot如何同时装配两个相同类型数据库
2021/11/17 Java/Android
vue项目配置sass及引入外部scss文件
2022/04/14 Vue.js
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL