純js和css實(shí)現(xiàn)漸變色包括靜態(tài)漸變和動(dòng)態(tài)漸變
更新時(shí)間:2014年05月29日 15:40:29 作者:
用javascript實(shí)現(xiàn)一下所謂的動(dòng)態(tài)漸變,考慮動(dòng)態(tài)原因就不上圖了,我來簡(jiǎn)單介紹下思路
說起“漸變色”,你會(huì)想起什么?
當(dāng)我開始搜索查找這個(gè)名詞的時(shí)候,才發(fā)現(xiàn)它實(shí)際上是有兩種理解或者說是兩種形式的:動(dòng)態(tài)漸變和靜態(tài)漸變。
所謂動(dòng)態(tài)漸變,舉個(gè)簡(jiǎn)單的例子:他來了,她的臉漸漸紅了...漸漸的,漸漸改變的,是不斷在改變的;而靜態(tài)漸變,也就更簡(jiǎn)單了:天上一到彩虹,赤橙黃綠青藍(lán)紫啊...在當(dāng)前展示的成品中,顏色從一部分到另一部分的顏色是不一樣的,可能幅度比較小,是逐漸改變的,但有一點(diǎn)是至關(guān)重要的,它已經(jīng)存在了,形成了變化的現(xiàn)狀且無法再改變。
這樣我們先來用javascript實(shí)現(xiàn)一下所謂的動(dòng)態(tài)漸變,考慮動(dòng)態(tài)原因就不上圖了,我來簡(jiǎn)單介紹下思路:
* 動(dòng)態(tài)漸變
<span style="font-size:12px;"><html>
...
<body>
<center>
<div id="fade" style="width:600px;height:200px;"></div>
</center>
</body>
</html></span>
為了方便查看,我寫的是內(nèi)嵌樣式,還是推薦使用外鏈樣式的使用啊,接下來進(jìn)行簡(jiǎn)單編寫動(dòng)態(tài)實(shí)現(xiàn)漸變效果:
<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>
這樣看來我不用多說了吧,就一個(gè)拼接和一個(gè)重復(fù)調(diào)用的問題。
* 靜態(tài)漸變
先來附圖,大家看看效果,大體明白神馬意思。
在不考慮兼容的前提下,額,真改研究下兼容了,這弄界面不考慮兼容有點(diǎn)缺啊,好吧,先這樣繼續(xù)說,我是用的webkit內(nèi)核,就先用這個(gè)來介紹
在css樣式中添加:
background:-webkit-gradient(linear, 100% 0%, 0% 0%, from(#ffffff),color-stop(0.5,#0000ff),to(#ffffff));
簡(jiǎn)單解釋下:
linear:這個(gè)就碰到了線性漸變和徑向漸變的兩個(gè)概念,無非是在一條線上進(jìn)行變化的線性和像圓一樣向四周擴(kuò)散的徑向;
后面的四個(gè)值:分別代表相應(yīng)方向的px值,可以從左順時(shí)針轉(zhuǎn)的順序記憶,但是它代表的是to,截止到的顏色
from:這就是開始的顏色了
to:和from是同時(shí)出現(xiàn)的,最后漸變結(jié)束的顏色
而color-stop:則是指在變化到線的哪個(gè)位置的時(shí)候會(huì)出現(xiàn)什么顏色,當(dāng)然是從周圍過渡過去的,相當(dāng)于from,to過渡點(diǎn),from過渡點(diǎn),to;
好了,這樣就明白多了吧,附送下簡(jiǎn)單的其他的基本代碼
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的其它*/
今天看了一集《開講了》,原來還有這么好看的節(jié)目,太lower了么我....
當(dāng)我開始搜索查找這個(gè)名詞的時(shí)候,才發(fā)現(xiàn)它實(shí)際上是有兩種理解或者說是兩種形式的:動(dòng)態(tài)漸變和靜態(tài)漸變。
所謂動(dòng)態(tài)漸變,舉個(gè)簡(jiǎn)單的例子:他來了,她的臉漸漸紅了...漸漸的,漸漸改變的,是不斷在改變的;而靜態(tài)漸變,也就更簡(jiǎn)單了:天上一到彩虹,赤橙黃綠青藍(lán)紫啊...在當(dāng)前展示的成品中,顏色從一部分到另一部分的顏色是不一樣的,可能幅度比較小,是逐漸改變的,但有一點(diǎn)是至關(guān)重要的,它已經(jīng)存在了,形成了變化的現(xiàn)狀且無法再改變。
這樣我們先來用javascript實(shí)現(xiàn)一下所謂的動(dòng)態(tài)漸變,考慮動(dòng)態(tài)原因就不上圖了,我來簡(jiǎn)單介紹下思路:
* 動(dòng)態(tài)漸變
復(fù)制代碼 代碼如下:
<span style="font-size:12px;"><html>
...
<body>
<center>
<div id="fade" style="width:600px;height:200px;"></div>
</center>
</body>
</html></span>
為了方便查看,我寫的是內(nèi)嵌樣式,還是推薦使用外鏈樣式的使用啊,接下來進(jìn)行簡(jiǎn)單編寫動(dòng)態(tài)實(shí)現(xiàn)漸變效果:
復(fù)制代碼 代碼如下:
<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>
這樣看來我不用多說了吧,就一個(gè)拼接和一個(gè)重復(fù)調(diào)用的問題。
* 靜態(tài)漸變
先來附圖,大家看看效果,大體明白神馬意思。
在不考慮兼容的前提下,額,真改研究下兼容了,這弄界面不考慮兼容有點(diǎn)缺啊,好吧,先這樣繼續(xù)說,我是用的webkit內(nèi)核,就先用這個(gè)來介紹
在css樣式中添加:
background:-webkit-gradient(linear, 100% 0%, 0% 0%, from(#ffffff),color-stop(0.5,#0000ff),to(#ffffff));
簡(jiǎn)單解釋下:
linear:這個(gè)就碰到了線性漸變和徑向漸變的兩個(gè)概念,無非是在一條線上進(jìn)行變化的線性和像圓一樣向四周擴(kuò)散的徑向;
后面的四個(gè)值:分別代表相應(yīng)方向的px值,可以從左順時(shí)針轉(zhuǎn)的順序記憶,但是它代表的是to,截止到的顏色
from:這就是開始的顏色了
to:和from是同時(shí)出現(xiàn)的,最后漸變結(jié)束的顏色
而color-stop:則是指在變化到線的哪個(gè)位置的時(shí)候會(huì)出現(xiàn)什么顏色,當(dāng)然是從周圍過渡過去的,相當(dāng)于from,to過渡點(diǎn),from過渡點(diǎn),to;
好了,這樣就明白多了吧,附送下簡(jiǎn)單的其他的基本代碼
復(fù)制代碼 代碼如下:
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的其它*/
今天看了一集《開講了》,原來還有這么好看的節(jié)目,太lower了么我....
相關(guān)文章
如何判斷Javascript對(duì)象是否存在的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)硪黄绾闻袛郕avascript對(duì)象是否存在的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-05
顏色選擇器 Color Picker,IE,Firefox,Opera,Safar
顏色選擇器 Color Picker,需要的朋友可以參考下。2010-11-11
深入淺析ES6 Class 中的 super 關(guān)鍵字
本文給大家收藏整理了ES6 Class 中的 super 關(guān)鍵字,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-10-10
淺析js中的every()對(duì)空數(shù)組總返回true
JavaScript?語言的核心部分足夠大,以至于我們很容易誤解其某些部分的工作方式,本文就來和大家一起討論下為什么JS中的?every()對(duì)空數(shù)組總返回?true,需要的可以參考下2023-09-09
封裝好的javascript前端分頁(yè)插件pagination
本文給大家分享一個(gè)非常不錯(cuò)的封裝好的javascript前端分頁(yè)插件pagination,不依賴任何庫(kù),有很高的擴(kuò)展性,有需要的小伙伴可以參考下。2016-01-01
setInterval 和 setTimeout會(huì)產(chǎn)生內(nèi)存溢出
jscript 5.7 發(fā)布修復(fù)了不少ie javascript內(nèi)存泄露的問題。但是leak依然存在。當(dāng)我們頻繁使用 setInterval 和 setTimeout 時(shí)就會(huì)每幾秒鐘出現(xiàn)32k leak...2008-02-02
JS字符串和數(shù)組如何實(shí)現(xiàn)相互轉(zhuǎn)化
這篇文章主要介紹了JS字符串和數(shù)組如何實(shí)現(xiàn)相互轉(zhuǎn)化,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07

