CSS3常用的几种颜色渐变模式总结


Posted in HTML / CSS onNovember 18, 2016

一、线性渐变:linear-gradient

语法:

        <linear-gradient> = linear-gradient([ [ <angle> | to <side-or-corner] ,]? <color-start>[, <color-end>]+)
        <side-or-corner> = [left | right] || [top | bottom]
        <color-start|end> = <color>[ <length>|<percentage>]?

下述值用来表示渐变的方向,可以使用角度或者关键字来设置:

    <angle>:用角度值指定渐变的方向(或角度)。

        to left:设置渐变为从右到左。相当于: 270deg

        to right:设置渐变从左到右。相当于: 90deg

        to top:设置渐变从下到上。相当于: 0deg

        to bottom:设置渐变从上到下。相当于: 180deg。这是默认值,等同于留空不写。

    <color-start|end> 用于指定渐变的起止颜色:

       <color>:指定颜色。

       <length>:用长度值指定起止色位置。不允许负值

       <percentage>:用百分比指定起止色位置。

示例:

CSS3常用的几种颜色渐变模式总结

div {  
    width: 200px;  
    height: 100px;  
    margin: 10px 5px;  
    border: 1px solid #ddd000;  
}  
#LinearStartToEnd {  
  float:left;  
  background: linear-gradient(#ff0000, #00ff00);  
}  
#LinearPercentage {  
  float:left;  
  background: linear-gradient(#0000ff, #ff0000 52%, #00ff00);  
}  
#LinearAnglePercentage {  
  float:left;  
  background: linear-gradient(90deg, #ff0000 20%, #00ff00 50%, #000000 80%);  
}  
#LinearAngle {  
  float:left;  
  background: linear-gradient(30deg, #ffff00 30%, #ff0000, #00ff00);  
}  
#LinearTopRight {  
  float:left;  
  background: linear-gradient(to right top, #00ff00, #ff0000 50%, #0000ff);  
}

二、径向渐变:radial-gradient

语法:

     <position> = [ <length>① | <percentage>① | left | center① | right ]? [ <length>② | <percentage>② | top | center② | bottom ]?
     <shape> = circle | ellipse
     <size> = <extent-keyword>|[<circle-size>||<ellipse-size>]
     <extent-keyword> = closest-side | closest-corner | farthest-side | farthest-corner
     <circle-size> = <length>
     <ellipse-size> = [ <length>| <percentage> ]{2}
     <shape-size> = <length>| <percentage>
     <radial-gradient> = radial-gradient([ [ <shape>|| <size> ] [ at <position> ]? , | at <position> , ]?<color-start>[[ , <color-end>]]+)

       <position> 确定圆心的位置。如果提供2个参数,第一个表示横坐标,第二个表示纵坐标;如果只提供一个,第二值默认为50%,即center

         <length>①:用长度值指定径向渐变圆心的横坐标值。可以为负值。

         <percentage>①:用百分比指定径向渐变圆心的横坐标值。可以为负值。

         <length>②:用长度值指定径向渐变圆心的纵坐标值。可以为负值。

         <percentage>②:用百分比指定径向渐变圆心的纵坐标值。可以为负值。

              center①:设置中间为径向渐变圆心的横坐标值。

              center②:设置中间为径向渐变圆心的纵坐标值。

              left:设置左边为径向渐变圆心的横坐标值。

              right:设置右边为径向渐变圆心的横坐标值。

              top:设置顶部为径向渐变圆心的纵坐标值。

              bottom:设置底部为径向渐变圆心的纵坐标值。

       <shape> 确定圆的类型

              circle:指定圆形的径向渐变

              ellipse:指定椭圆形的径向渐变。

       <extent-keyword> circle | ellipse 都接受该值作为 size。

              closest-side:指定径向渐变的半径长度为从圆心到离圆心最近的边。

              closest-corner:指定径向渐变的半径长度为从圆心到离圆心最近的角。

              farthest-side:指定径向渐变的半径长度为从圆心到离圆心最远的边。

              farthest-corner:指定径向渐变的半径长度为从圆心到离圆心最远的角。

       <circle-size> circle 接受该值作为 size。

              <length>:用长度值指定正圆径向渐变的半径长度。不允许负值。

       <ellipse-size> ellipse 接受该值作为 size。

             <length>:用长度值指定椭圆径向渐变的横向或纵向半径长度。不允许负值。

             <percentage>:用百分比指定椭圆径向渐变的横向或纵向半径长度。不允许负值。

示例:

CSS3常用的几种颜色渐变模式总结

#RadialCenterCircle {  
  float:left;  
    background: radial-gradient(circle at center, #ff0000, #ffff00, #00ffff);  
}  
#RadialClosestSide {  
  float:left;  
    background: radial-gradient(circle closest-side, #ff0000, #00ff00, #ffff00);  
}  
#RadialFarthestSide {  
  float:left;  
    background: radial-gradient(farthest-side, #ff0000 20%, #ffff00 60%, #00ff00 80%);  
}  
#RadialRightTop {  
  float:left;  
    background: radial-gradient(at right top, #ff0000, #ffff00, #00ff00);  
}  
#RadialRadiusCenter {  
  float:left;  
    background: radial-gradient(farthest-side at top right, #ff0000, #ffff00, #01fefe);  
}  
#RadialGroup {  
  float:left;  
    background:  
        radial-gradient(farthest-side at top right, #ff0000, #ffff00, #009f00, transparent),  
        radial-gradient(60px at top left, #ff0000, #ffff00, #00ff0e);  
}

三、重复的线性渐变:repeating-linear-gradient

语法和参数类似线性渐变,这里不在赘述。详情请参考CSS手册。

示例:

 

#RepeatingLinearPercentage{  
  float:left;  
    background: repeating-linear-gradient(#ff0000, #00ff00 10%, #000000 15%);  
}  
#RepeatingLinearRight {  
  float:left;  
    background: repeating-linear-gradient(to right, #ff0000, #00ff00 10%, #000000 15%);  
}  
#RepeatingLinearAngle {  
  float:left;  
    background: repeating-linear-gradient(45deg, #ff0000, #00ff00 10%, #0000ff 15%);  
}  
#RepeatingLinearBottomLeft {  
  float:left;  
    background: repeating-linear-gradient(to bottom left, #00ffff, #ff0000 10%, #00ff00 15%);  
}

四、重复的径向渐变:repeating-radial-gradient

语法和参数类似径向渐变,这里不在赘述。详情请参考CSS手册。

示例:

CSS3常用的几种颜色渐变模式总结

#RepeatingRadialCircle {  
  float:left;  
    background: repeating-radial-gradient(circle, #ff0000 0, #00ff00 10%, #0000ff 15%);  
}  
#RepeatingRadialTopLeft {  
  float:left;  
    background: repeating-radial-gradient(at top left, #ff0000, #00ff00 10%, #0de0f0 15%, #ffff00 20%, #000000 25%);  
}  
#RepeatingRadialClosestCorner {  
  float:left;  
    background: repeating-radial-gradient(circle closest-corner at 20px 50px, #00ff00, #ff0000 10%, #00ffff 20%, #ffff00 30%, #ff00ff 40%);  
}

完整的例子:

CSS3常用的几种颜色渐变模式总结

<!DOCTYPE html>  
<html>  
<head>  
<meta charset="utf-8" />  
<title>ImageCSS3</title>  
<style>  
div {  
    width: 200px;  
    height: 100px;  
    margin: 10px 5px;  
    border: 1px solid #ddd000;  
}  
#LinearStartToEnd {  
  float:left;  
  background: linear-gradient(#ff0000, #00ff00);  
}  
#LinearPercentage {  
  float:left;  
  background: linear-gradient(#0000ff, #ff0000 52%, #00ff00);  
}  
#LinearAnglePercentage {  
  float:left;  
  background: linear-gradient(90deg, #ff0000 20%, #00ff00 50%, #000000 80%);  
}  
#LinearAngle {  
  float:left;  
  background: linear-gradient(30deg, #ffff00 30%, #ff0000, #00ff00);  
}  
#LinearTopRight {  
  float:left;  
  background: linear-gradient(to right top, #00ff00, #ff0000 50%, #0000ff);  
}  
  
#RadialCenterCircle {  
  float:left;  
    background: radial-gradient(circle at center, #ff0000, #ffff00, #00ffff);  
}  
#RadialClosestSide {  
  float:left;  
    background: radial-gradient(circle closest-side, #ff0000, #00ff00, #ffff00);  
}  
#RadialFarthestSide {  
  float:left;  
    background: radial-gradient(farthest-side, #ff0000 20%, #ffff00 60%, #00ff00 80%);  
}  
#RadialRightTop {  
  float:left;  
    background: radial-gradient(at right top, #ff0000, #ffff00, #00ff00);  
}  
#RadialRadiusCenter {  
  float:left;  
    background: radial-gradient(farthest-side at top right, #ff0000, #ffff00, #01fefe);  
}  
#RadialGroup {  
  float:left;  
    background:  
                radial-gradient(farthest-side at top right, #ff0000, #ffff00, #009f00, transparent),  
                radial-gradient(60px at top left, #ff0000, #ffff00, #00ff0e);  
}  
  
#RepeatingLinearPercentage{  
  float:left;  
    background: repeating-linear-gradient(#ff0000, #00ff00 10%, #000000 15%);  
}  
#RepeatingLinearRight {  
  float:left;  
    background: repeating-linear-gradient(to right, #ff0000, #00ff00 10%, #000000 15%);  
}  
#RepeatingLinearAngle {  
  float:left;  
    background: repeating-linear-gradient(45deg, #ff0000, #00ff00 10%, #0000ff 15%);  
}  
#RepeatingLinearBottomLeft {  
  float:left;  
    background: repeating-linear-gradient(to bottom left, #00ffff, #ff0000 10%, #00ff00 15%);  
}  
  
#RepeatingRadialCircle {  
  float:left;  
    background: repeating-radial-gradient(circle, #ff0000 0, #00ff00 10%, #0000ff 15%);  
}  
#RepeatingRadialTopLeft {  
  float:left;  
    background: repeating-radial-gradient(at top left, #ff0000, #00ff00 10%, #0de0f0 15%, #ffff00 20%, #000000 25%);  
}  
#RepeatingRadialClosestCorner {  
  float:left;  
    background: repeating-radial-gradient(circle closest-corner at 20px 50px, #00ff00, #ff0000 10%, #00ffff 20%, #ffff00 30%, #ff00ff 40%);  
}  
  
</style>  
</head>  
<body>  
<!-- 指定线性渐变起止色 -->  
<div id="LinearStartToEnd"></div>  
<!-- 指定线性渐变起止色位置 -->  
<div id="LinearPercentage"></div>  
<!-- 指定线性渐变颜色渐变方向和起止色位置 -->  
<div id="LinearAnglePercentage"></div>  
<!-- 指定线性渐变颜色渐变方向 -->  
<div id="LinearAngle"></div>  
<!-- 设置渐变从右上到左下 -->  
<div id="LinearTopRight"></div>  
  
<!-- 浮动Div换行,此处指定Div宽高和边界,是为了覆盖前面定义的Div统一CSS样式,  
 可以尝试去掉指定的Div宽高和边界,看看效果 -->  
<div style="width:0; height:0; border:none; clear:both"></div>  
<!-- 以中心点为圆心的圆形径向渐变 -->  
<div id="RadialCenterCircle"></div>  
<!-- 径向渐变半径长度:圆心到离圆心最近边的长度 -->  
<div id="RadialClosestSide"></div>  
<!-- 径向渐变半径长度:圆心到离圆心最远边的长度 -->  
<div id="RadialFarthestSide"></div>  
<!-- 左边为径向渐变圆心的横坐标值,顶边为径向渐变圆心的纵坐标值 -->  
<div id="RadialRightTop"></div>  
<!-- 同时指定径向渐变的圆心和半径 -->  
<div id="RadialRadiusCenter"></div>  
<!-- 径向渐变组合 -->  
<div id="RadialGroup"></div>  
  
<div style="width:0; height:0; border:none; clear:both"></div>  
<!-- 指定颜色起止色位置的重复线性渐变 -->  
<div id="RepeatingLinearPercentage"></div>  
<!-- 从左到右渐变的重复线性渐变 -->  
<div id="RepeatingLinearRight"></div>  
<!-- 渐变角度为45度的重复线性渐变 -->  
<div id="RepeatingLinearAngle"></div>  
<!-- 从左下到右上的重复线性渐变 -->  
<div id="RepeatingLinearBottomLeft"></div>  
  
<div style="width:0; height:0; border:none; clear:both"></div>  
<!-- 圆形重复径向渐变 -->  
<div id="RepeatingRadialCircle"></div>  
<!-- 渐变方向为左上到右下的重复径向渐变 -->  
<div id="RepeatingRadialTopLeft"></div>  
<!-- 重复径向渐变:渐变半径长度为从圆心到离圆心最近的角的距离 -->  
<div id="RepeatingRadialClosestCorner"></div>  
  
</body>  
</html>

总结

以上就是这篇文章文章的全部内容,本文整理了现在常用的几种Css3实现渐变颜色的方法,希望对大家的学习或者工作能有所帮助,如果有疑问大家可以留言交流。

HTML / CSS 相关文章推荐
纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例
Nov 11 HTML / CSS
CSS3中的content属性使用示例
Jul 20 HTML / CSS
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
Jan 12 HTML / CSS
html5的新玩法——语音搜索
Jan 03 HTML / CSS
html5使用canvas绘制文字特效
Dec 15 HTML / CSS
浅析HTML5的WebSocket与服务器推送事件
Feb 19 HTML / CSS
Html5元素及基本语法详解
Aug 02 HTML / CSS
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
Aug 18 HTML / CSS
3种方式实现瀑布流布局小结
Sep 05 HTML / CSS
Html5通过数据流方式播放视频的实现
Apr 27 HTML / CSS
html5表单的required属性使用
Jul 07 HTML / CSS
使用 CSS 构建强大且酷炫的粒子动画效果
Aug 14 HTML / CSS
CSS3 2D模拟实现摩天轮旋转效果
Nov 16 #HTML / CSS
IE8下CSS3选择器nth-child() 不兼容问题的解决方法
Nov 16 #HTML / CSS
CSS3 box-sizing属性详解
Nov 15 #HTML / CSS
用CSS3的box-reflect来制作倒影效果
Nov 15 #HTML / CSS
CSS3毛玻璃效果(blur)有白边问题的解决方法
Nov 15 #HTML / CSS
CSS3实现多背景模拟动态边框的效果
Nov 08 #HTML / CSS
CSS3实现同时执行倾斜和旋转的动画效果
Oct 27 #HTML / CSS
You might like
落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
2006/12/16 PHP
PHP 替换模板变量实现步骤
2009/08/24 PHP
PHP 多维数组的排序问题 根据二维数组中某个项排序
2011/11/09 PHP
PHP中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
laravel手动创建数组分页的实现代码
2018/06/07 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
javascript StringBuilder类实现
2008/12/22 Javascript
JavaScript 学习笔记(九)call和apply方法
2010/01/11 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
ajax请求乱码的解决方法(中文乱码)
2014/04/10 Javascript
javascript在当前窗口关闭前检测窗口是否关闭
2014/09/29 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
实现placeholder效果的方案汇总
2015/06/11 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
2016/05/28 Javascript
利用BootStrap弹出二级对话框的简单实现方法
2016/09/21 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
Input文本框随着输入内容多少自动延伸的实现
2017/02/15 Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
2017/09/14 Javascript
写给小白看的JavaScript异步
2017/11/29 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
2018/11/01 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
Vue 实现html中根据类型显示内容
2019/10/28 Javascript
Python实现的检测web服务器健康状况的小程序
2014/09/17 Python
Python设计模式编程中解释器模式的简单程序示例分享
2016/03/02 Python
恢复百度云盘本地误删的文件脚本(简单方法)
2017/10/21 Python
python2.7无法使用pip的解决方法(安装easy_install)
2018/04/03 Python
Python使用pandas对数据进行差分运算的方法
2018/12/22 Python
python中eval与int的区别浅析
2019/08/11 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
2020/05/15 Python
css3中新增的样式使用示例附效果图
2014/08/19 HTML / CSS
自主招生推荐信范文
2014/05/10 职场文书
2015年基层党支部工作总结
2015/05/21 职场文书
关于Vue中的options选项
2022/03/22 Vue.js