关于CSS3渐变使用方法
2016-11-09 11:27
337 查看
一、线性渐变
原先各浏览器的写法标准是:
-webkit-linear-gradient ( top , #f00 , #00f ) ; // 从上边开始
-o-linear-gradient ( top , #f00 , #00f ) ;
-moz-linear-gradient ( top , #f00 , #00f ) ;
或者使用角度:
-webkit-linear-gradient ( -90deg , #f00 , #00f ) ; // 从上到下
-o-linear-gradient ( -90deg , #f00 , #00f ) ;
-moz-linear-gradient ( -90deg , #f00 , #00f ) ;
第一个参数表示起点 位置 [默认从上到下:top | -90deg ] ,
角度为 0 表示从x轴正轴方向 逆时针计算
后面的参数表示颜色的顺序,可2个及以上
标准写法:
linear-gradient ( to bottom, #f00 , #00f ) // 到下边结束
linear-gradient ( 180 deg , #f00 , #00f ) // 从上到下
第一个参数表示 到终点 的位置 [默认从上到下:to bottom | 180deg ],
角度为 0 表示从 y轴正轴方向 顺时针计算
后面的参数表示颜色的顺序,可2个及以上
特别的:[关于均匀分布]
每个颜色值后加空格再加个百分比表示该颜色的点位,起点是0%,终点为100%
百分比值必须按从小到大分配。
如果想构造特殊效果:
background: linear-gradient(to right, red 20%,yellow 19%,yellow 40%,blue 39%,blue 60%, green 59%,green 80%, blue 79%,blue 100%);
上述样式有清晰分界线:分段叠加渐变,最开始的在最上面[这样容易理解]
举例:
构造 red 占20%宽,yellow占40%宽,blue占30%宽 green占10% 分界段:
思路:
先规定好终点 red 20% , yellow 60% , blue 90% , green 100%,
再规定第二个颜色开始的每个颜色的起点,只要百分比比上一个小即可。
如下结果:重复yellow 19<20,重复blue 59<60 重复green 89小于90
background: linear-gradient( to right, red 20%, yellow 19%, yellow 60%, blue 59%, blue 90%, green 89%, green 100%)
关于重复线性渐变 [ 标准语法 ]
background : repeating-linear-gradient (to bottom , rgba() , rgba() , ... )
二、径向渐变 [ 浏览器暂不支持径向渐变的标准写法 ]
background: radial-gradient(位置 , 形状 尺寸 , start-color , ... , last-color );
位置:center [默认值] | 30% 10% | left top
形状:ellipse [默认值] | circle
尺寸:closest-side | farthest-side | closest-corner | farthest-corner [默认值]
注意:形状和尺寸之间用空格分隔,不能用逗号分隔,否则不显示
原先各浏览器的写法标准是:
-webkit-radial-gradient ( #f00 , #00f ) ; // 支持Chrome,Firefox
-o-radial-gradient ( #f00 , #00f ) ;
-moz-radial-gradient ( #f00 , #00f ) ; // 仅支持Firefox
radial-gradient ( #f00 , #00f ) ; // 所有浏览器均不支持标准写法
例如:
div#grad {
height: 50px;
width: 150px;
background: -moz-radial-gradient(60% 55%, farthest-corner,blue,green,yellow,black);
background: -o-radial-gradient(60% 55%, farthest-corner,blue,green,yellow,black);
background: -webkit-radial-gradient(left top,circle farthest-corner,blue,green,yellow,black);
background: radial-gradient(60% 55%, farthest-corner,blue,green,yellow,black); /*无效*/
}
同理:关于重复径向渐变 [ 标准语法 ]
background : repeating-radial-gradient (to bottom , rgba() , rgba() , ... )
原先各浏览器的写法标准是:
-webkit-linear-gradient ( top , #f00 , #00f ) ; // 从上边开始
-o-linear-gradient ( top , #f00 , #00f ) ;
-moz-linear-gradient ( top , #f00 , #00f ) ;
或者使用角度:
-webkit-linear-gradient ( -90deg , #f00 , #00f ) ; // 从上到下
-o-linear-gradient ( -90deg , #f00 , #00f ) ;
-moz-linear-gradient ( -90deg , #f00 , #00f ) ;
第一个参数表示起点 位置 [默认从上到下:top | -90deg ] ,
角度为 0 表示从x轴正轴方向 逆时针计算
后面的参数表示颜色的顺序,可2个及以上
标准写法:
linear-gradient ( to bottom, #f00 , #00f ) // 到下边结束
linear-gradient ( 180 deg , #f00 , #00f ) // 从上到下
第一个参数表示 到终点 的位置 [默认从上到下:to bottom | 180deg ],
角度为 0 表示从 y轴正轴方向 顺时针计算
后面的参数表示颜色的顺序,可2个及以上
特别的:[关于均匀分布]
每个颜色值后加空格再加个百分比表示该颜色的点位,起点是0%,终点为100%
百分比值必须按从小到大分配。
如果想构造特殊效果:
background: linear-gradient(to right, red 20%,yellow 19%,yellow 40%,blue 39%,blue 60%, green 59%,green 80%, blue 79%,blue 100%);
上述样式有清晰分界线:分段叠加渐变,最开始的在最上面[这样容易理解]
举例:
构造 red 占20%宽,yellow占40%宽,blue占30%宽 green占10% 分界段:
思路:
先规定好终点 red 20% , yellow 60% , blue 90% , green 100%,
再规定第二个颜色开始的每个颜色的起点,只要百分比比上一个小即可。
如下结果:重复yellow 19<20,重复blue 59<60 重复green 89小于90
background: linear-gradient( to right, red 20%, yellow 19%, yellow 60%, blue 59%, blue 90%, green 89%, green 100%)
关于重复线性渐变 [ 标准语法 ]
background : repeating-linear-gradient (to bottom , rgba() , rgba() , ... )
二、径向渐变 [ 浏览器暂不支持径向渐变的标准写法 ]
background: radial-gradient(位置 , 形状 尺寸 , start-color , ... , last-color );
位置:center [默认值] | 30% 10% | left top
形状:ellipse [默认值] | circle
尺寸:closest-side | farthest-side | closest-corner | farthest-corner [默认值]
注意:形状和尺寸之间用空格分隔,不能用逗号分隔,否则不显示
原先各浏览器的写法标准是:
-webkit-radial-gradient ( #f00 , #00f ) ; // 支持Chrome,Firefox
-o-radial-gradient ( #f00 , #00f ) ;
-moz-radial-gradient ( #f00 , #00f ) ; // 仅支持Firefox
radial-gradient ( #f00 , #00f ) ; // 所有浏览器均不支持标准写法
例如:
div#grad {
height: 50px;
width: 150px;
background: -moz-radial-gradient(60% 55%, farthest-corner,blue,green,yellow,black);
background: -o-radial-gradient(60% 55%, farthest-corner,blue,green,yellow,black);
background: -webkit-radial-gradient(left top,circle farthest-corner,blue,green,yellow,black);
background: radial-gradient(60% 55%, farthest-corner,blue,green,yellow,black); /*无效*/
}
同理:关于重复径向渐变 [ 标准语法 ]
background : repeating-radial-gradient (to bottom , rgba() , rgba() , ... )
相关文章推荐
- 关于CSS3中Media Queries使用方法
- 关于分别使用CSS3和JQ制作IOS7开关按钮的方法
- 详解CSS3中使用gradient实现渐变效果的方法
- CSS3:radial-gradient,径向渐变的使用方法
- 关于CSS3阴影使用方法
- 关于使用 trados 抽取 中文术语 的方法
- 关于点击事件的触发器具体使用方法
- Respond.js 兼容IE6-8 的CSS3 Media Query使用方法
- css3的border-radius属性使用方法
- ROS 使用方法 关于actionlib
- 关于CSS3文本换行的方法
- 关于CSS3转换2D,3D过渡与动画方法
- MediaPlayer类可用于控制音频/视频文件或流的播放。关于如何使用这个类的方法还可以阅读VideoView类的文档。
- 关于Vue.js 使用v-cloak后仍显示变量的解决方法
- os、os.path 模块中关于文件、目录常用的函数使用方法
- 关于使用CodeFirst,修改类或上下文时操作数据库报错解决方法
- phpcms关于url路由在二次开发中的使用方法介绍-实现泛解析
- 技能GET-使用CSS3渐变实现单一元素多颜色展示
- 关于使用HTML或JS实现页面重定向的方法
- 关于ext中使用 Ext.grid.CheckboxSelectionModel作为选择框如何保存选中记录的解决方法。