| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jianghejie
11年前发布

CSS3 径向渐变(radial-gradient)

上篇文章介绍了 CSS3 线性渐变(linear-gradient),这篇文章向大家介绍 radial-gradient(径向渐变)以及重复渐变(线性重复、径向重复)。在以前,渐变效果和阴影、圆角效果一样都是做成图片,现在 CSS3 可以直接编写  CSS 代码来实现。

CSS3 径向渐变和线性渐变是很相似的,我们首先来看其语法:

-moz-radial-gradient([<bg-position> || <angle>,]? [<shape> || <size>,]? <color-stop>, <color-stop>[, <color-stop>]*);   -webkit-radial-gradient([<bg-position> || <angle>,]? [<shape> || <size>,]? <color-stop>, <color-stop>[, <color-stop>]*);

  除了您已经在线性渐变中看到的起始位置,方向,和颜色,径向梯度允许你指定渐变的形状(圆形或椭圆形)和大小(最近端,最近角,最远端,最远角,包含或覆盖 (closest-side, closest-corner, farthest-side, farthest-corner, contain or cover))。 颜色起止(Color stops):就像用线性渐变,你应该沿着渐变线定义渐变的起止颜色。下面为了更好的理解其具体的用法,我们主要通过不同的示例来对比CSS3径向渐变的具体用法
  示例一:
background: -moz-radial-gradient(#ace, #f96, #1E90FF);  background: -webkit-radial-gradient(#ace, #f96, #1E90FF);

  效果:

  示例二:

background: -moz-radial-gradient(#ace 5%, #f96 25%, #1E90FF 50%);  background: -webkit-radial-gradient(#ace 5%, #f96 25%, #1E90FF 50%);

  效果如下:

  从以上俩个示例的代码中发现,他们起止色想同,但就是示例二定位了些数据,为什么会造成这么大的区别呢?其实在径向渐变中虽然具有相同的起止色,但是在没有设置位置时,其默认颜色为均匀间隔,这一点和我们前面的线性渐变是一样的,但是设置了渐变位置就会按照渐变位置去渐变,这就是我们示例一和示例的区别之处:虽然圆具有相同的起止颜色,但在示例一为默认的颜色间隔均匀的渐变,而示例二每种颜色都有特定的位置。

  示例三:

background: -moz-radial-gradient(bottom left, circle, #ace, #f96, #1E90FF);  background: -webkit-radial-gradient(bottom left, circle, #ace, #f96, #1E90FF);

CSS3 径向渐变(radial-gradient)

泡在网上的日子 发表于2013-06-23 11:03, 171 次阅读

摘要 上篇文章介绍了 CSS3 线性渐变(linear-gradient) ,这篇文章向大家介绍 radial-gradient(径向渐变)以及重复渐变(线性重复、径向重复)。在以前,渐变效果和阴影、圆角效果一样都是做成图片,现在 CSS3 可以直接编写 CSS 代码来实现。 CSS3 径向渐变和线

上篇文章介绍了 CSS3 线性渐变(linear-gradient),这篇文章向大家介绍 radial-gradient(径向渐变)以及重复渐变(线性重复、径向重复)。在以前,渐变效果和阴影、圆角效果一样都是做成图片,现在 CSS3 可以直接编写  CSS 代码来实现。

CSS3 径向渐变和线性渐变是很相似的,我们首先来看其语法:

1
2
-moz-radial-gradient([<bg-position> || <angle>,]? [<shape> || <size>,]? <color-stop>, <color-stop>[, <color-stop>]*);
 -webkit-radial-gradient([<bg-position> || <angle>,]? [<shape> || <size>,]? <color-stop>, <color-stop>[, <color-stop>]*);

  除了您已经在线性渐变中看到的起始位置,方向,和颜色,径向梯度允许你指定渐变的形状(圆形或椭圆形)和大小(最近端,最近角,最远端,最远角,包含或覆盖 (closest-side, closest-corner, farthest-side, farthest-corner, contain or cover))。 颜色起止(Color stops):就像用线性渐变,你应该沿着渐变线定义渐变的起止颜色。下面为了更好的理解其具体的用法,我们主要通过不同的示例来对比CSS3径向渐变的具体用法

  示例一:

1
2
background: -moz-radial-gradient(#ace, #f96, #1E90FF);
background: -webkit-radial-gradient(#ace, #f96, #1E90FF);

  效果:

  示例二:

1
2
background: -moz-radial-gradient(#ace 5%, #f96 25%, #1E90FF 50%);
background: -webkit-radial-gradient(#ace 5%, #f96 25%, #1E90FF 50%);

  效果如下:

  从以上俩个示例的代码中发现,他们起止色想同,但就是示例二定位了些数据,为什么会造成这么大的区别呢?其实在径向渐变中虽然具有相同的起止色,但是在没有设置位置时,其默认颜色为均匀间隔,这一点和我们前面的线性渐变是一样的,但是设置了渐变位置就会按照渐变位置去渐变,这就是我们示例一和示例的区别之处:虽然圆具有相同的起止颜色,但在示例一为默认的颜色间隔均匀的渐变,而示例二每种颜色都有特定的位置。

  示例三:

1
2
background: -moz-radial-gradient(bottom left, circle, #ace, #f96, #1E90FF);
background: -webkit-radial-gradient(bottom left, circle, #ace, #f96, #1E90FF);

  效果如下:

  示例四:

background: -moz-radial-gradient(bottom left, ellipse, #ace, #f96, #1E90FF);  background: -webkit-radial-gradient(bottom left, ellipse, #ace, #f96, #1E90FF);

  效果如下:

  示例三和示例四我们从效果中就可以看出,其形状不一样,示例三程圆形而示例四程椭圆形状,也是就是说他们存在形状上的差异。然而我们在回到两个示例的代码中,显然在示例三中设置其形状为 circle,而在示例四中 ellipse,换而言之在径向渐变中,我们是可以设置其形状的。
  示例五:

background: -moz-radial-gradient(ellipse closest-side, #ace, #f96 10%, #1E90FF 50%, #f96);  background: -webkit-radial-gradient(ellipse closest-side, #ace, #f96 10%, #1E90FF 50%, #f96);

  效果如下:

  示例六:

background: -moz-radial-gradient(ellipse farthest-corner, #ace, #f96 10%, #1E90FF 50%, #f96);  background: -webkit-radial-gradient(ellipse farthest-corner, #ace, #f96 10%, #1E90FF 50%, #f96);

  效果如下:

  从示例五和示例六中的代码中我们可以清楚知道,在示例五中我人应用了closest-side而在示例六中我们应用了farthest-corner。这样我们可以知道在径向渐变中我们还可以为其设置大小(Size):size的不同选项(closest-side, closest-corner, farthest-side, farthest-corner, contain or cover)指向被用来定义圆或椭圆大小的点。 示例:椭圆的近边VS远角 下面的两个椭圆有不同的大小。示例五是由从起始点(center)到近边的距离设定的,而示例六是由从起始点到远角的的距离决定的。

  示例七:

background: -moz-radial-gradient(circle closest-side, #ace, #f96 10%, #1E90FF 50%, #f96);  background: -webkit-radial-gradient(circle closest-side, #ace, #f96 10%, #1E90FF 50%, #f96);

  效果如下:

  示例八:

 

  效果如下:

  示例七和示例八主要演示了圆的近边VS远边 ,示例七的圆的渐变大小由起始点(center)到近边的距离决定,而示例八的圆则有起始点到远边的距离决定。
  示例九:

background: -moz-radial-gradient(#ace, #f96, #1E90FF);  background: -webkit-radial-gradient(#ace, #f96, #1E90FF);

  效果如下:

  示例十:

background: -moz-radial-gradient(contain, #ace, #f96, #1E90FF);  background: -webkit-radial-gradient(contain, #ace, #f96, #1E90FF);

  效果如下:

  示例九和示例十演示了包含圆 。在这里你可以看到示例九的默认圈,同一渐变版本,但是被包含的示例十的圆。

  最后我们在来看两个实例一个是应用了中心定位和full sized,如下所示:

/* Firefox 3.6+ */   background: -moz-radial-gradient(circle, #ace, #f96);   /* Safari 4-5, Chrome 1-9 */   /* Can't specify a percentage size? Laaaaaame. */   background: -webkit-gradient(radial, center center, 0, center center, 460, from(#ace), to(#f96));   /* Safari 5.1+, Chrome 10+ */   background: -webkit-radial-gradient(circle, #ace, #f96);


  效果如下:

原文见:CSS3 径向渐变(radial-gradient)   http://www.jcodecraeer.com/a/qianduankaifa/css3/2013/0623/1383.html


 本文由用户 jianghejie 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1371957436822.html
CSS3 渐变 CSS 前端技术