CODE大全
您的位置 : 首页 > 前端技术 >

CSS3 radial-gradient(径向渐变)教程

发布时间:『 2018-04-13

CSS3 Gradient分为linear-gradient(线性渐变)和radial-gradient(径向渐变)。实际开发的时候,当要使用radial-gradient径向渐变的时候,脑中会有大概的语法,但是细节却记不住,因此我这里整理一篇相关教程,包含它的用法和at语法。

我们先看一个最简单的例子。

CSS 代码如下:

.radial-gradhttp://www.bdx-leb.com/6fe0/47b2d1430052.htmlient {
    width: 40http://www.bdx-leb.com/daa9/d6d5861cc615.html0px; height: 200px;
    background: radial-gradient(yellow, red);
}

HTML代码如下:

<div class="radial-gradient"http://www.bdx-leb.com/af8b/39668343f8d1.html></div>

最终的运行效果如下:

radial-gradient

上面是一个最简单的例子,如果我们需要一个圆形的径向渐变,该怎么做呢?看下面的代码。

<style>
div {
  width:100px;height:100px;border-radius:50px;
  background:radial-gradient(at 35px 35px,#FFF,#CCC,#FFF);
  backgrounhttp://www.bdx-leb.com/19e9/17e9e4bc825e.htmld:-webkit-radial-gradient(35px 35px,#FFF,#CCC,#FFF);
}
</style>
<div></div>

最终的运行效果如下:

radial-gradient

FireFox和Opera不需要前缀可以直接使用radial-gradient(它们曾经也需要前缀,现在不需要了)。Chrome需要-webkit-前缀才可以使用。而且有前缀的径向渐变和没有前http://www.bdx-leb.com/0304/dba7ba642406.html缀的径向渐变语法有一点不同。

at语法
http://www.bdx-leb.com/ca25/0ecacca87ca3.html

at语法可以用下面的公式来套用。

radial-gradient(
  [
    [渐变大小]?
    [ at 渐变圆心坐标]?
  ,]?
  颜色[ 开始位置]
  [,颜色[ 开始位置]]+
);

其实真正的语法比这个复杂很多,第一个参数用来指定位置和大小,后面是颜色列表。第一个参数的格式是“渐变大小 at 渐变圆心http://www.bdx-leb.com/1e34/28987c4de141.html坐标”。渐变大小如果只有一个值,那么它就代表这个渐变是个正圆,这个数值是它的半径。如果是两个值,把这个渐变变成椭圆形的;http://www.bdx-leb.com/0b59/0a74623564f9.html渐变圆心坐标是从容器的原点开始算起。

radial-gradient

这些参数是可以不指定而使用默认值的。圆心坐标的默认值是容器的中心,这http://www.bdx-leb.com/7b1f/0c0d05974e25.html个比较简单。而渐变大小的默认值就比较复杂了。如果容器是正方形的,那么渐变大小的默认值就是一个正圆。这个正圆的半径是圆心到容器最远角的距离。

对于径向渐变,在不指定渐变类型以及位置的情况下,其渐变距离和位置是由容器的尺寸决定的。

容器的宽高比是2:1,最终渐变呈现出来的形状也是一个2:http://www.bdx-leb.com/1c97/9fd3c5fbbc85.html1的椭圆形,并且渐变颜色自动终止与容器的边缘。

radial-gradient

如果我们想指定渐变的形状是一个圆形,形状不受外部容器尺寸影响,可以使用circle关键字。

参考资料

CSS Images Module Level 3 [css3-images] 'contain' radial gradients edge case [css3] linear-gradient() proposal

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!


——— 全文完 ———
Powered by 张鑫旭 | 鄂ICP备14009759号-2 | 网站留言 Copyright © 2014-2016 张鑫旭 版权所有