纯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 相关文章推荐
JS下拉框内容左右移动效果的具体实现
Jul 10 Javascript
js获得地址栏?问号后参数的方法
Aug 08 Javascript
jquery、js调用iframe父窗口与子窗口元素的方法整理
Jul 31 Javascript
node.js中的console.dir方法使用说明
Dec 10 Javascript
js实现格式化金额,字符,时间的方法
Feb 26 Javascript
js的各种排序算法实现(总结)
Jul 23 Javascript
JS实现title标题栏文字不间断滚动显示效果
Sep 07 Javascript
js轮播图的插件化封装详解
Jul 17 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
Nov 10 jQuery
layui固定下拉框的显示条数(有滚动条)的方法
Sep 10 Javascript
JS实现前端动态分页码代码实例
Jun 02 Javascript
vue 使用class创建和清除水印的示例代码
Dec 25 Vue.js
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
使用XDebug调试及单元测试覆盖率分析
2011/01/27 PHP
PHP防盗链的基本思想 防盗链的设置方法
2015/09/25 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
谈谈AngularJs中的隐藏和显示
2015/12/09 Javascript
Fullpage.js固定导航栏-实现定位导航栏
2016/03/17 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
AngularJS 中使用Swiper制作滚动图不能滑动的解决方法
2016/11/15 Javascript
JavaScript获取select中text值的方法
2017/02/13 Javascript
基于vuejs实现一个todolist项目
2017/04/11 Javascript
基于pako.js实现gzip的压缩和解压功能示例
2017/06/13 Javascript
jQuery实现ajax回调函数带入参数的方法示例
2018/06/26 jQuery
JS返回页面时自动回滚到历史浏览位置
2018/09/26 Javascript
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
Vue中jsx不完全应用指南小结
2019/11/01 Javascript
vue实现拖拽效果
2019/12/23 Javascript
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
python实现超简单端口转发的方法
2015/03/13 Python
Python实现的数据结构与算法之双端队列详解
2015/04/22 Python
python+django快速实现文件上传
2016/10/24 Python
基于pandas将类别属性转化为数值属性的方法
2018/07/25 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
pandas.cut具体使用总结
2019/06/24 Python
Python笔记之代理模式
2019/11/20 Python
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
python批量修改xml属性的实现方式
2020/03/05 Python
详解HTML5将footer置于页面最底部的方法(CSS+JS)
2018/10/11 HTML / CSS
澳洲小众品牌的集合网站:BNKR
2018/02/23 全球购物
Cult Gaia官网:美国生活方式品牌
2019/08/16 全球购物
linux面试题参考答案(11)
2016/11/26 面试题
会计电算化个人自我评价
2013/11/17 职场文书
大学生职业生涯规划范文
2014/01/22 职场文书
贯彻学习两会心得体会范文
2014/03/17 职场文书
庆祝教师节主题班会
2015/08/17 职场文书
Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解
2022/03/03 Python
vue中使用mockjs配置和使用方式
2022/04/06 Vue.js