CSS3颜色渐变模式总结

                                               CSS3颜色渐变模式总结

    1.线性渐变: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>:

用百分比指定起止色位置。

示例:


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);
}

2.径向渐变: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>:用百分比指定椭圆径向渐变的横向或纵向半径长度。不允许负值。


示例:

#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);
}

       3.重复的线性渐变: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%);
}

3.重复的径向渐变:repeating-radial-gradient


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


示例:

#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%);
}

完整的例子:

<!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>

参考:CSS参考手册:http://css.doyoe.com/

时间: 2024-12-27 15:29:49

CSS3颜色渐变模式总结的相关文章

css3颜色渐变

background-image:linear-gradient() 参数: 第一个参数:指定渐变方向,可以用“角度”的关键词或“英文”来表示: 第一个参数省略时,默认为“180deg”,等同于“to bottom”. 第二个和第三个参数,表示颜色的起始点和结束点,可以有多个颜色值. css代码: 1 #box{ 2 width:200px; 3 height:50px; 4 background-image:linear-gradient(to bottom,red,blue,green,ye

css3中背景颜色渐变(转)

原文链接:http://caibaojian.com/css3-background-gradient.html 整理一下关于css3背景渐变的写法,至于是怎么来的,可以看下面渐变的详细解释. via在项目中,有很多地方都用到了背景线性渐变.如果在移动端还可以适当使用CSS3这个属性原文来自:http://caibaojian.com/css3-background-gradient.html css3:linear-gradient 比如:黑色渐变到白色,代码如下: .gradient{ ba

CSS3可视化渐变背景颜色代码生成插件

这是一款可以在线生成CSS3渐变背景颜色代码的可视化插件.你可以通过调节界面上给出的颜色.色相.饱和度和亮度滑块,以及渐变方向滑块来生成各种线性渐变,屏幕上会给出相应的CSS3线性渐变代码. 在线演示:http://www.htmleaf.com/Demo/201502221407.html 下载地址:http://www.htmleaf.com/css3/css3donghua/201502221406.html

一款纯css3实现的颜色渐变按钮

之前为大家分享了推荐10款纯css3实现的实用按钮,今天给大家带来一款纯css3实现的颜色渐变按钮.这款按钮的边框和文字的颜色通过css3实现两种颜色的渐变,效果非常好看,一起看下效果图: 在线预览   源码下载 实现的代码. html代码: <div class="container"> <a target="_blank" class="btn green" href="http://www.w2bc.com/&q

css3背景颜色渐变属性 兼容性测试基础环境为:windows系统;IE6.0+, Firefox4.0+, Chrome4.0+, Safari4.0+, Opera15.0+

css3背景颜色渐变属性 兼容性测试基础环境为:windows系统:IE6.0+, Firefox4.0+, Chrome4.0+, Safari4.0+, Opera15.0+ 语法: <linear-gradient>:linear-gradient([ <point>,]? <color-stop>[, <color-stop>]+); <point>:[ left | right ]? [ top | bottom ]? || <a

css3的背景颜色渐变@线性渐变

背景颜色渐变之线性渐变 语法形式: firefox浏览器 background:-moz-linear-gradient(position/deg,startColor,endColor); opera浏览器    background: -o-linear-gradient(position/deg,startColor,endColor); safari和chrome浏览器    background: -webkit-linear-gradient(position/deg,startCo

使用CSS3创建文字颜色渐变(CSS3 Text Gradient)

考虑一下,如何在网页中达到类似以下文字渐变的效果? 传统的实现中,是用一副透明渐变的图片覆盖在文字上.具体实现方式可参考 http://www.qianduan.net/css-gradient-text-effect.html .这种方式优点是图片可控,所以可实现很复杂的渐变效果,但是缺点是图片渐变色必须与背景色一致,同时损失了鼠标点击.文字选择等事件. 改进的方法可以使用 CSS3 的背景渐变 -webkit-gradient ,用一个背景渐变的 DIV 代替图片.下面是实现效果示例,相比以

css3背景颜色渐变属性

https://www.cnblogs.com/ningkyolei/p/4623697.html 很久之前写的一篇文章了,今天重新整理一下关于css3背景渐变的写法,至于是怎么来的,可以看下面渐变的详细解释. 在项目中,有很多地方都用到了背景线性渐变.如果在移动端还可以适当使用CSS3这个属性 css3:linear-gradient 比如:黑色渐变到白色,代码如下: .gradient{ background: -moz-linear-gradient(top, #000000 0%, #f

CSS3颜色特征温故

网页是色彩的表现原理:显示器是由一个个像素构成,利用电子束来表现色彩.像素把光的三原色:红色(R).绿色(G).蓝色(B)组合成的色彩按照科学原理表现出来.一个像素包含8位元色彩的信息量,又从0 ~ 255的256个单元,其中0是完全无光状态,255是最亮状态 Web页面的安全色不同平台(Mac.PC等)有不同的调色板,不同的浏览器也有自己的调色板.选择特定的颜色时,浏览器会尽量使用本身所用的调色板中最接近的颜色,如果浏览器中没有所选颜色,就会通过抖动或者混合自身的颜色来尝试重新产生该颜色Web