渐变
基于CSS的渐变相较于图片的渐变,最大的优点是便于修改,同时支持无级缩放,过渡更加自然!目前,实现CSS渐变的只有基于webkit内核和Gecko内核的浏览器,代表浏览器是Chrome、Safari和Firefox,基于Presto内核的Opera浏览器暂时不支持(升级后的11.10版本添加了对渐变的支持),基于Trident的IE虽然可以通过滤镜的方式实现,但并不提倡!
同时,不同内核实现渐变的语法不同,均为私有属性,目前运用于产品中,还不现实,但就像前言说的,体验一下CSS3的神奇之处,还是很有意思的!
测试基于
- safari 4.03
- chrome 6.0.408.1
- firefox 3.63
注意:CSS代码中还利用了rgba控制颜色的透明度,最后一位即为透明度!
webkit实现语法(Chrome、Safari)
更新:webkit小组宣布,在css3渐变上,将采用Mozilla的语法,但由于以下语法在08年提出,已经较为广泛的使用,所以在新的Webkit引擎中,保留了下列语法,但是建议使用Mozilla语法。
详细语法
-webkit-gradient(type, start_point, end_point, / color-stop...)
-webkit-gradient(type, inner_center, inner_radius, outer_center, outer_radius, / color-stop...)
实例一:线性渐变
//线性渐变
width:100px;
height:100px;
border: 1px solid #666;
background: -webkit-gradient(linear, left top, left bottom , from(#09F), to(#0FF));
实例二:多个径向渐变
//多个径向渐变
width: 100px;
height: 100px;
border: 1px solid #666;
background:
-webkit-gradient(radial, 70 70, 15, 70 90, 40, from(#00c9ff), to(rgba(0, 201, 255, 0)), color-stop(80%, #00b5e2)),
-webkit-gradient(radial, 70 20, 5, 80 24, 20, from(#E9D916), to(rgba(233, 217, 22, 0)), color-stop(80%, #CEC013)),
-webkit-gradient(radial, 10 90, 20, 15 100, 60, from(#F6C), to(rgba(252, 129, 231, 0)), color-stop(90%, #F0C));
效果如下:
处理线性渐变,chrome和safari表现一致,但是在多个径向渐变的演示中,safari下的形状边缘有明显锯齿(非图片压缩导致),同时背景呈灰色,chrome没有这些问题!
Gecko实现语法(Firefox)
详细语法
-moz-linear-gradient( [<point> || <angle>,]? <stop>, <stop> [, <stop>]* )
-moz-radial-gradient( [<position> || <angle>,]? [<shape> || <size>,]? <stop>, <stop>[, <stop>]* )
实例三:线性渐变
//线性渐变
width:100px;
height:100px;
border: 1px solid #666;
background: -moz-linear-gradient(top, #09F, #0FF);
实例四:径向渐变
//径向渐变 以距离圆形最远的边为参考半径
width: 100px;
height: 150px;
border: 1px solid #666;
background: -moz-radial-gradient(30px 30px 45deg, circle farthest-side, #58ff00 0%, rgba(222, 255, 0, 0) 100%);
//径向渐变 以距离圆形最远的角为参考半径
width: 150px;
height: 100px;
border: 1px solid #666;
background: -moz-radial-gradient(30px 30px 45deg, circle farthest-corner, #58ff00 0%, rgba(222, 255, 0, 0) 100%);
实例五:径向渐变(椭圆)
width: 500px;
height: 100px;
border: 1px solid #666;
background: -moz-radial-gradient(30px 30px 45deg, ellipse farthest-corner, #58ff00 0%, rgba(222, 255, 0, 0) 100%);
实例六:多个径向渐变
//多个径向渐变
width: 100px;
height: 100px;
border: 1px solid #666;
background:
-moz-radial-gradient(30px 30px, circle farthest-corner, #58ff00 0%, rgba(222, 255, 0, 0) 30%),
-moz-radial-gradient(50px 70px, circle farthest-corner, #F30 0%, rgba(255, 159, 34, 0) 60%),
-moz-radial-gradient(80px 10px, circle farthest-corner, #03F 0%, rgba(222, 255, 0, 0) 80%);
效果如下:
看上去,Gecko内核对渐变有更多的控制,不但可以控制渐变形状,还可以根据盒模型自动设置半径!
分享到:
相关推荐
这是国外的一个网站制作的效果,我把它转成本地形式,方便大家进行CSS3渐变测试。 主要功能是实现CSS3渐变效果,调好自己想要的颜色后,可以直接复制CSS代码!心动了吧,还不赶块试试!
脚本简介:纯js+css3渐变进度条动画特效是一款css3背景属性绘制渐变的进度条加载动画特效,动态加载效果,背景色动态渐变,纯css+js实现,对于简单页面实现进度条效果可以简单利用此方法。 脚本简介:纯js+css3渐变...
SS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡。...但是,通过使用 CSS3 渐变(gradients),你可以减少下载的事件和宽带的使用。此外,渐变效果的元素在放大时看起来效果更好。
css3棕色渐变导航菜单 css3棕色渐变导航菜单网页特效.zip
一款纯css3渐变进度条加载动画特效,基于css3背景属性绘制的渐变风格百分比进度条动画效果。
使用CSS3渐变属性和倒影.ppt
jQuery+css3渐变焦点图 jQuery+css3渐变焦点图网页特效.zip
css颜色渐变菜单,和其他样式效果,效果很不错的。
CSS3线性渐变的使用方法希望对您以后学习和理解css线性渐变起到作用,这是我一直希望看到的,感谢您的浏览,如果有什么意见可以留言
纯css3 gradient属性制作6种渐变色的按钮样式
css渐变代码,代码兼容各个浏览器,适用于ie7以上及各主流浏览器
这是一款可以在线生成CSS3渐变背景颜色代码的可视化插件。你可以通过调节界面上给出的颜色、色相、饱和度和亮度滑块,以及渐变方向滑块来生成各种线性渐变,屏幕上会给出相应的CSS3线性渐变代码。
html5 CSS3渐变进度条动画效果 html5 CSS3渐变进度条动画效果
CSS3径向渐变的使用方法希望对您以后学习和理解css径向渐变起到作用,这是我一直希望看到的,感谢您的浏览,如果有什么意见可以留言
CSS3线性渐变 CSS3渐变属性 01 CSS3渐变属性 在CSS3之前如果需要添加渐变效果,通常要设置背景图像来实现。而CSS3中增加了渐变属性,通过渐变属性可以轻松实现渐变效果。 CSS3渐变属性 css3中定义了两种渐变类型:...
纯css3背景渐变按钮特效
CSS3实现颜色渐变菜单,CSS3渐变,渐变效果图,渐变菜单,渐变,CSS3导航菜单,CSS3导航,菜单导航,CSS3实现颜色渐变菜单是一款纯CSS3实现的颜色渐变菜单效果,无需任何js代码,既可以实现按钮的色彩渐变,伴随鼠标的离开菜单...
网页模板——Vue.js圆形CSS3颜色渐变色拾取器
15种纯CSS3基于gradient属性制作的渐变颜色色板配色代码,带颜色参数,可在CSS样式自定义配置渐变颜色配色。
HTML5 css3渐变按钮代码,无使用任何JS和图片来修饰的渐变按钮,虽然样式不多,但会明确的告诉你如何实现,原理 是什么,搞懂了想做出这种按钮,那就是轻松的事了。