首页 > 语言 > JavaScript > 正文

javascript 线性渐变三

2024-05-06 14:13:35
字体:
来源:转载
供稿:网友
IE还有一个利器至今没有被使用过,那就是VML。虽然比不上SVG,但它还是非常强大的。在实现渐变上,其fill还比IE的Gragient滤镜强悍得多了。不过VML出现得比较早,只支持很少的颜色名,如red,blue,yellow,其他如orange就可以搞死它了。因此要使用VML做线性渐变,我们得对这些颜色名做一下转换。
HTML4的颜色值
black = #000000green = #008000silver = #c0c0c0lime = #00ff00
gray = #808080olive = #808000white = #ffffffyellow = #ffff00
maroon = #800000navy = #000080red = #ff0000blue = #0000ff
purple = #800080teal = #008080fuchsia = #ff00ffaqua = #00ffff
我们可以在火狐官网以及W3C了解到更多的颜色值。
代码如下:
var htmlcolor={ black :"#000",green :"#008000",silver :"#c0c0c0",lime :"#0f0",
gray :"#808080",olive :"#808000",white :"#fff",yellow :"#ff0",
maroon :"#800000",navy :"#000080",red :"#f00",blue :"#00f",
purple :"#800080",teal :"#008080",fuchsia :"#f0f",aqua :"#0ff",
indigo :"#4b0082",orange : "#ffa500",sienna :"#a0522d",plum :"#dda0dd",
gold :"#ffd700", tan :"#d2b48c", snow :"#fffafa",violet :"#ee82ee"
}

接着我们在需要线性渐变的那个元素内部创建一个同样大小的rect元素,然后里面再添加一个fill元素,用来设置渐变。伪码如下:
代码如下:
<div class="gradient" style="position:relative;width:width;height:height">
javascript线性渐变 by 司徒正美 实现多重水平渐变效果
<vml:rect style="position:absolute;width:width;height;top:0;left:0" stroked="f" >
<vml:fill colors="与SVG相对应的color-stop" focus="100%" type="gradient" method="linear"/>
</vml:rect>
</div>


[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选