先来IE的,这是最大的用户群,如果这部分开发不出来,基本可以说不用做了。IE虽然有Gradient滤镜,但对比其他浏览器的实现特弱,没有多重渐变(stop-color),不能实现角度渐变,而且还经常失效。我的思路是这样,假如有一个带文本的DIV,要实现多重线性渐变,我们首先得把它里面的文本取出来,然后里面放几个DIV,有几重就放几个,然后把它们渐变。如果是垂直渐变,这好办,什么也不用做,只需设置其滤镜与各个高就行了。如果水平,就让其浮动或绝对定位,放到适当的位置,设置其滤镜与宽。但渐变滤镜竟然会在浮动后或定位后失效,这是在使用透明滤镜时闻所未闻的。没有办法,祭出上古神器table。但设置长与宽时,使用style来设置是不顶用的,一定要用DOM属性。渐变则由它的td元素负责。为了去除table元素与td元素之间,td元素与其内容之间的空白,我们还得用到cellPadding与cellSpacing。
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
safari,chrome与opera打算都用SVG实现。为了减少函数的长度,特意搞了两个辅助函数。
复制代码 代码如下:
var createSVG = function(tag){
return document.createElementNS("http://www.w3.org/2000/svg",tag);
};
var attr= function(node,bag){
for(var i in bag){
if(bag.hasOwnProperty(i))
node.setAttribute(i,bag[i])
}
};
var COSgradient = function(entity,stops,width,height,type){
var svg = createSVG("svg");
attr(svg,{width:width+"px",height:height+"px"})
entity.appendChild(svg);
.
var defs = createSVG("defs");
svg.appendChild(defs);
var linearGradient = createSVG("linearGradient");
defs.appendChild(linearGradient);
attr(linearGradient,{id:"nasami",x1:"0%",y1:"0%"})
if(type){
attr(linearGradient,{x2:"100%",y2:"0%"})
}else{
attr(linearGradient,{x2:"0%",y2:"100%"})
}
for(var i=0,j=0,l=stops.length;i<l;i++,j++){
var offset = stops[i].split(",")[0] + "%",
color = stops[i].split(",")[1],
stop = createSVG("stop");
attr(stop,{offset:offset,"stop-color":color});
linearGradient.appendChild(stop);
}
var rect = createSVG("rect");
svg.appendChild(rect);
attr(rect,{x:"0px",y:"0px",width:width+"px",height:height+"px",fill:"url(#nasami)"});
}
firefox则利用其私有属性:
复制代码 代码如下:
var FFgradient= function(entity,stops,width,height,type){
var cssText = ";background: -moz-linear-gradient("
cssText += type? "top,bottom," :"left,right,";
.
for(var i=0,j=0,l=stops.length;i<l;i++,j++){
var offset = stops[i].split(",")[0] + "%",
color = stops[i].split(",")[1];
cssText += "color-stop("+[offset,color]+"),"
}
cssText = cssText.replace(/,$/,"")+") no-repeat;";
entity.style.cssText = cssText+"width:"+width+"px;height:"+height+"px;"
}
不过今天研磨一下,发现firefox还是支持SVG的线性渐变的,因此纠正我原来的观点。上面的函数只是作用一种实现手段放在这里,它并没有整合到我最终的版本中(虽然它比SVG实现短很多。)这样一来,在老一点版本的firefox中我们也能实现线性渐变了。
下面这个运行框里的渐变效果可在所有主流浏览器中正常运作。
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
再把它做成类。扼要说明一下:它的第一个参数为IE,第二个为哈希。哈希中的各参数都为必选的,width,height的单位为px;type为0或者1,0代表垂直,1为水平;color-stop代表渐变体,由一个字符串数组构成,每个字符串都是由数字加逗号加颜色值组成,数字表代偏移量,单位为%,颜色值可以是red,green等名词,也可以是六位或三位的哈希值。渐变体至少要有一个。
复制代码 代码如下:
new Gradient("gradient",{width:800,height:100,type:0,"color-stop":["0,red",
3."16,orange","32,yellow","48,green","64,blue","80,indigo","100,violet"]})
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
相关推荐:
SEO分类中内部优化的有:让你的网站脱颖而出!,by ai
GPT人工智能-让未来触手可及的智慧之光,ai头花写真
SEO努力:提升网站排名的关键策略,网站建设微企动力
ChatGPT当前不可用?如何应对AI服务中断的挑战,ai文章免费写作app
seo稿件是什么意思,seo文章写作要求 ,ai写作未来展望和展望
seo软文有什么作用,seo文案是什么 ,斐乐Ai测评问题
OpenAI注册问题解决方案:如何顺利通过手机号验证,反对ai头像
互联网快照:记录数字时代的每个瞬间,全网seo怎么优化内容
怎么让AI润色文章,让写作更轻松?
seo重点工作是什么,seo重点工作是什么意思 ,棋谱检查ai
什么是seo发外链,seo外链类型有哪些 ,小小苏ai
AI提炼主要内容:如何让信息更精准、高效、易懂,女军人ai
SEO优化如何为网站做好关键词研究和优化,ai直通
ChatGPT:引领人工智能对话新时代的智能助手,Ai shiang
SEO范例:如何通过优化提升网站流量,获取更多商机,广州抖音seo搜索广告
什么是神马排名?让你的网站脱颖而出,轻松占据搜索引擎的C位!,乳山网站优化关键词排名
“赞片CMS”-让你的*站点管理更高效、便捷,日照seo平台
Chat免费,让沟通无界限,尽享智能对话时代,ai没办法置顶
SEO就是:让你的品牌脱颖而出,获得更多曝光与流量,梅岭关键词排名优化
ChatGPT页面无法访问?解决方案,让你轻松摆脱困扰!,ai染发颜色
seo网站是什么找行者SEO,seo分析网站 ,ai图文梅花
SEO软优化:助力网站实现流量爆发的秘密武器,延平区网页seo
SEO自从上线后的演变与未来发展趋势,拼多多增加关键词排名
什么是秀米?全方位了解这款微信公众号排版神器,宁波全网营销型网站建设
SEO是如何推动企业增长的关键力量,深圳罗湖网站建设设计
如何通过AI写文章,轻松提高写作效率与质量
SEO导流:如何通过精准优化实现网站流量大爆发,网站优化优化怎么做
SEO与SEM:谁才是提升网站流量的王者?,Ai中字体如何变形立体
一键创作,助你轻松实现创意梦想,最低价刷粉网站推广
AI翻译工具的革命-ChatGPT等技术让语言互通无碍,淘宝ai写作检测准吗
AI免费写文:创作新时代的高效助手
ChatGPT怎么找梯子:突破网络限制,轻松访问AI助手的终极指南,鬼灭之刃人物AI还原
AI网页效果生成:开启网站设计的新纪元,ai画线祥云
产品seo什么意思,产品seo标题是什么 ,ai模仿张宇
SEO关键词利器:如何借助精准关键词提升网站流量与排名,ai绘画客户
seo要懂些什么,seo主要做什么的 ,小艾艾AI
ChatGPT:打破语言障碍,理解与沟通的新时代,交通轨道ai
撰写稿子的AI,写作的“超级助手”来了!
SEO拓客,让您的业务飞速增长!,密云自适应网站建设
为什么要做seo si,为什么要做* ,ai里面怎么扣二维码
seo规范是什么意思,seo包括哪些内容 ,AI智能破解
seo自己做什么,自己做seo需要花钱吗 ,ai850775
seo用什么法宝,列出5种seo赚钱方式 ,ai怎么更改文档样式
ChatGPT可以实现新闻报道的即时自动化生成,怎么更改ai2的图标
为什么“蜘蛛弛查询”能成为提升网站排名的秘密武器?,惠州网站推广v1戈seo24
为什么seo吸引人,为什么seo吸引人呢 ,ai路径查找器绘制树
AI代写文章:高效创作的新风尚
ChatGPTO1免费:突破智能聊天的极限,体验AI无限可能,糯米ai唱歌
ChatGPT出现报错503?这些解决办法你必须知道!,粉墨ai说唱
seo软件是什么职位,seo用的是什么软件 ,ai感知树