初探CSS3 - 径向渐变

CSS3径向渐变是圆形或者椭圆形的渐变方式,颜色不再朝着一条直线的方向渐变,而是从一个起点沿着所有方向的渐变。

以orange向red渐变为例,最简单的径向渐变如下所示:

<!DOCTYPE html>
<html>
<head>
<title>radial</title>
<meta charset="utf-8" />
<style type="text/css">
    *{padding:0; margin:0;}
    div{width:200px; height:200px; border:1px solid #ccc; margin:100px;}
    div{
        background:-webkit-radial-gradient(orange,red);
        background:radial-gradient(orange,red);
    }
</style>
</head>
<body>
    <div></div>
</body>
</html>

效果如下所示:

和线性渐变一样,径向渐变说到底只需要三个要素即可:圆心,起始颜色,结束颜色。

如果需要制作一个圆形渐变,则在这个基础上加上关键字 circle 即可,如下:

background:-webkit-radial-gradient(circle,orange,red);
background:radial-gradient(circle,orange,red);

同样,圆形其实是一种特殊的椭圆。所以在前例基础上,我们只需要将关键字改成 ellipse 即可将圆形径向渐变变成椭圆径向渐变。

background:-webkit-radial-gradient(ellipse,orange,red);
background:radial-gradient(ellipse,orange,red);

除了使用关键字,还可以直接指定主要半径和次要半径来制作椭圆渐变,如下所示:

background:-webkit-radial-gradient(200px 50px at center,orange,red);
background:radial-gradient(200px 50px at center,orange,red);

效果如下:

其中第一个是主要半径,第二个是次要半径。

还可以使用百分数来表示主要半径和次要半径,以父元素的宽度和高度为准,如下所示:

background:-webkit-radial-gradient(100% 25% at center,orange,red);
background:radial-gradient(100% 25% at center,orange,red);

实际效果和前例一样。

在上例中我们使用了 center 关键字来定位圆心,实际上还可以使用别的关键字来定位圆心,属性值和 background-position 一样。例如 at center 就相当于 at 50% 50% ,圆心在盒子正中间。其他属性值如下所示;

top 相当于center top | 50% 0
right 相当于center right | 100% 50%
bottom 相当于center bottom | 50% 100%
left 相当于center left | 0% 50%
top left 相当于0 0
top right 相当于100% 0
bottom right 相当于100% 100%
bottom left 相当于0 100%

综上,我们可以将各个属性值进行显式设置来制作圆形径向渐变和椭圆径向渐变,如下所示:

<!DOCTYPE html>
<html>
<head>
<title>radial</title>
<meta charset="utf-8" />
<style type="text/css">
    *{padding:0; margin:0;}
    div{width:200px; height:200px; border:1px solid #ccc; margin:10px; border-radius:50%; float:left;}
    .circle{
        background:-webkit-radial-gradient(10em circle at center,orange,red);
        background:radial-gradient(10em circle at center,orange,red);
    }
    .ellipse{
        background:-webkit-radial-gradient(10em 2em ellipse at center,orange,red);
        background:radial-gradient(10em 2em ellipse at center,orange,red);
    }
</style>
</head>
<body>
    <div class="circle"></div>
    <div class="ellipse"></div>
</body>
</html>

效果如下所示:

时间: 2024-08-29 15:59:45

初探CSS3 - 径向渐变的相关文章

CSS3 径向渐变(radial-gradient)

上篇文章介绍了 CSS3 线性渐变(linear-gradient),这篇文章向大家介绍 radial-gradient(径向渐变)以及重复渐变(线性重复.径向重复).在以前,渐变效果和阴影.圆角效果一样都是做成图片,现在 CSS3 可以直接编写  CSS 代码来实现. CSS3 径向渐变和线性渐变是很相似的,我们首先来看其语法: .代码   -moz-radial-gradient([<bg-position> || <angle>,]? [<shape> || &l

css3 径向渐变

/* 径向渐变 */div.radial { width: 600px; height: 400px; margin: 30px auto; border: 1px #f00 solid; background-image: -webkit-gradient(radial,50% 50%,0, 50% 50%,100,from(green), to(purple),color-stop(50%,red),color-stop(80%,yellow));} <!-- 径向渐变 --><di

css3径向渐变详解-遁地龙卷风

(-1)写在前面 我用的是chrome49,如果你用的不是.可以尝试换下浏览器前缀.IE在这方面的实现又特例独行了.不想提及…,这篇是为后续做准备. (0)快速使用 background-image:-webkit-linear-gradient(red,blue); 或者 background-image: -webkit-gradient(linear,center top,center bottom,from(#ace),to(#f96)); (1)环境准备 #lol { width:30

CSS3径向渐变----大鱼吃小鱼之孤单的大鱼

最近迷恋上了钓鱼,可是总钓不到大鱼,所以就画条大鱼来安慰一下我这柔弱的心灵. 先上图: 上面这个就是今晚上我要跟大家分享的小DEMO,我给他起名字就“大鱼吃小鱼之孤单的大鱼”. 转入正题,这条大鱼分为三部分:头,尾巴,眼睛.首先看一下这条鱼的框架,如下面所示,class已经说得很直接了 <div class="fish"> <div class="fisg-head"></div> <div class="fisg

CSS3径向渐变linear-gradient

语法: 选择器{ background:linear-gradien(线性渐变的方向,起点颜色,终点颜色): } 第一个参数:[可选参数,默认从上到下] 线性渐变的方向:top,bottom,left,right,top left; 第二个和第三个参数:起点颜色和终点颜色,其实中间可以插入更多的颜色,以实现多色渐变效果:支持直接写颜色,或16进制颜色 兼容性问题: 支持chrome和火狐,其他浏览器尚未测试,部分支持IE10, 为了支持chrome和火狐,要分别写上-webkit-,-moz-

Css3渐变(Gradients)-径向渐变

CSS3径向渐变-radial-gradient()/repeating-radial-gradient() 径向渐变由它的中心定义. 创建径向渐变,至少定义两种颜色节点,呈现平稳过度的颜色.同时,你也可以指定渐变中心.形状(圆形或椭圆形).大小. 默认情况下,渐变的中心是center(表示在中心),渐变的形状是ellipse(表示椭圆形),变天的大小是farthest-corner(表示到最远的角落) 语法: background: radial-gradient(center, shape

CSS3渐变——径向渐变

上节在<再说CSS3渐变——线性渐变>和大家一起学习了CSS3 Gradient中径向渐变最新语法(称得上是W3C的标准语法)相关知识以及其基本使用.今天我们在这一篇中主要和大家一起来了解渐变中的径向渐变新语法以及其基本使用. CSS3径向渐变 CSS3径向渐变是圆形或椭圆形渐变.颜色不再沿着一条直线轴变化,而是从一个起点朝所有方向混合.但相对线性渐变要比径向渐变复杂的多. 一.径向渐变的语法 CSS3的径向渐变已得到众多浏览器引擎的支持,只不过其语法的版本根据不同的引擎浏览器,其语法也不一样

CSS3之径向渐变

径向渐变(radial gradients):从起点到终点颜色从内而外沿进行圆形渐变. 语法 background:radial-gradient(center,shape size,start-color,……,last-color); 径向渐变-设置形状 语法: background:radial-gradient(shape,start-color,……,last-color); 说明: shape值可以取两个 circle——圆形 ellipse——椭圆(默认) 径向渐变-尺寸大小关键字

CSS3 Gradient 渐变

转载自:http://www.w3cplus.com/content/css3-gradient CSS3发布很久了,现在在国外的一些页面上常能看到他的身影,这让我羡慕已久,只可惜在国内为了兼容IE,让这一项技术受到很大的限制,很多Web前端人员都望而止步.虽然如此但还是有很多朋友在钻研CSS3在web中的应用,为了不被淘汰,我也开始向CSS3进发,争取跟上技术的前沿.从现在开始我会不断的发布一些CSS3的应用,和大家一起分享,今天我们首先要看的就是:CSS3: Gradient─CSS3渐变.