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

