CSS3 Gradient分为 linear-gradient(线性渐变)和radial-gradient(径向渐变)。实际开发的时候,当要使用radial-gradient径向渐变的时候,脑中会有大概的语法,但是细节却记不住,因此我这里整理一篇相关教程,包含它的用法和 at 语法。
更多精彩内容请看 web 前端中文站
http://www.lisa33xiaoq.net 可按 Ctrl + D 进行收藏
我们先看一个最简单的例子。
CSS 代码如下:
.radial-gradient { width: 400px; height: 200px; background: radial-gradient(yellow, red); }
HTML 代码如下:
<div class="radial-gradient"></div>
最终的运行效果如下:
上面是一个最简单的例子,如果我们需要一个圆形的径向渐变,该怎么做呢?看下面的代码。
<style> div { width:100px;height:100px;border-radius:50px; background:radial-gradient(at 35px 35px,#FFF,#CCC,#FFF); background:-webkit-radial-gradient(35px 35px,#FFF,#CCC,#FFF); } </style> <div> </div>
最终的运行效果如下:
FireFox 和 Opera 不需要前缀可以直接使用 radial-gradient(它们曾经也需要前缀,现在不需要了)。Chrome 需要-webkit-前缀才可以使用。而且有前缀的径向渐变和没有前缀的径向渐变语法有一点不同。
at 语法
at 语法可以用下面的公式来套用。
radial-gradient( [[渐变大小] [ at 渐变圆心坐标],] 颜色[ 开始位置] [,颜色[ 开始位置]]+ );
其实真正的语法比这个复杂很多,第一个参数用来指定位置和大小,后面是颜色列表。第一个参数的格式是“渐变大小 at 渐变圆心坐标”。渐变大小如果只有一个值,那么它就代表这个渐变是个正圆,这个数值是它的半径。如果是两个值,把这个渐变变成椭圆形的;渐变圆心坐标是从容器的原点开始算起。
这些参数是可以不指定而使用默认值的。圆心坐标的默认值是容器的中心,这个比较简单。而渐变大小的默认值就比较复杂了。如果容器是正方形的,那么渐变大小的默认值就是一个正圆。这个正圆的半径是圆心到容器最远角的距离。
对于径向渐变,在不指定渐变类型以及位置的情况下,其渐变距离和位置是由容器的尺寸决定的。
容器的宽高比是 2:1,最终渐变呈现出来的形状也是一个 2:1 的椭圆形,并且渐变颜色自动终止与容器的边缘。
如果我们想指定渐变的形状是一个圆形,形状不受外部容器尺寸影响,可以使用 circle 关键字。
参考资料
- CSS Images Module Level 3
- [css3-images] ‘contain’ radial gradients edge case
- [css3] linear-gradient() proposal
【注:本文源自网络文章资源,由站长整理发布】