4  径向渐变

CSS3径向渐变是圆形或椭圆形渐变。颜色不再沿着一条直线轴变化,而是从一个起点朝所有方向混合。但相对线性渐变要比径向渐变复杂的多。

径向渐变的格式如下:

radial-gradient([<起点>]? [<形状> || <大小>,]? <点>,<点>…)

径向渐变的参数描述如表1:

表1  CSS3径向渐变参数描述

5  径向渐变实例

虽然径向渐变要比线性渐变更为复杂,只要了解了其基本语法以及相关属性参数的作用,并不需要花太多的时间去适应。接下来,我们通过实战来加强径向渐变的使用。本节的所有例子我们都在一个宽度为400像素,高为300像素的容器中实现。

一、从容器内部向外径向渐变

先来看一个最简单的径向渐变,圆心都是容器正中间,从“#ffc107”颜色向“pink”颜色实现径向渐变,CSS代码如下:

在浏览器中查看效果如图1所示:

图1  简单径向渐变

如果你想制作一个圆形渐变,而不是一个椭圆形渐变,只需要添加一个关键词“circle”,我们在上例的基础上添加一个关键词“circle”,代码如下:

此时的渐变变成了圆形,在浏览器中查看效果如图2所示:

图2  圆形渐变

正如你所看到的,圆形的渐变是一个特殊的椭圆渐变,水平半径和垂直半径具有相同的长度值。既然圆形渐变是椭圆渐变的一种特殊情况,如果我们渐变主要半径(水平半径)和次要半径(垂直半径)不相同时就是一个椭圆形渐变。正如上面所言,主要半径和次要半径不相等时,制作的径向渐变是椭圆形渐变,在制作椭圆形渐变,可以使用关键词“ellipse”。

二、规定径向渐变的半径

除了使用关键词制作不同的径向渐变,还可以用不同的渐变参数制作径向渐变效果,通过制作同心圆,主要半径和次要半径来决定径向渐变的形状。径向渐变的半径设为“200px,100px”。水平半径为200px,垂直半径为100px,从“#ffc107”色到“pink”色径向渐变:

此时的渐变变成了水平半径为200px,垂直半径为100px的椭圆,在浏览器中查看效果如图3所示:

图3  自定义半径的径向渐变

三、规定径向渐变的半径及圆心位置

除了上述方法能实现一些简单的径向渐变效果之外,还可以使用渐变形状配合圆心定位。主要使用“at”加上关键词来定义径向渐变中心位置。径向渐变中心位置类似于background-position属性。例如,圆心位置在“100px,150px”处,水平半径为200px,垂直半径为100px,从“#ffc107”色到“pink”色径向渐变:

此时的渐变变成了水平半径为200px,垂直半径为100px且圆心位置在“100px 200px”处的椭圆,在浏览器中查看效果如图4所示:

图4  自定义半径及圆心位置的径向渐变

设置圆心位置除了使用特定的值外,可以使用百分比和一些关键词来定义,如“center”、“top”、“right”、“bottom”、“left”及这些关键词的组合,如“top left”、“right bottom”等,组合位置的关键词顺序可以调换。

四、重复的径向渐变

跟线性渐变一样,我们也可以为径向渐变设置重复。以同样的方式,可以使用相关的属性创建重复的径向渐变。其语法和linear-gradient类似,只是以一个径向渐变为基础进行重复渐变,如下例所示,我们制作一个三色重复的径向渐变:

在浏览器中查看,渐变效果如图5所示:

图5  三色重复径向渐变

理解了上述的几个实例后,读者就可以自己DIY渐变效果了。

IT兄弟连 HTML5教程 CSS3属性特效 渐变3的更多相关文章

  1. IT兄弟连 HTML5教程 CSS3属性特效 渐变1

    渐变背景一直以来在Web页面中都是一种常见的视觉元素.但一直以来,Web设计师都是通过图形软件设计这些渐变效果,然后以图片形式或者背景图片的形式运用到页面中.Web页面上实现的效果,仅从页面的视觉效果 ...

  2. IT兄弟连 HTML5教程 CSS3属性特效 渐变2 线性渐变实例

    3 线性渐变实例 一.颜色从顶部向底部渐变 制作从顶部到底部直线渐变有三种方法,第一种是起点参数不设置,因为起点参数的默认值为“top”:第二种方法起点参数设置为“top”:第三种起点参数使用“-90 ...

  3. IT兄弟连 HTML5教程 CSS3属性特效 文字描边

    用CSS3实现的文字描边效果,一个CSS3文字特效实例,字体可以自己随意改,字体颜色也可以自己改.IE9以下浏览器无效果,所以提醒大家测试时候要使用Google Chrome.-webkit-text ...

  4. IT兄弟连 HTML5教程 CSS3属性特效 动画-animation

    CSS3属性中有关于制作动画的三个属性:Transform,Transition,Animation.前面已经介绍过Transform和Transition了,这里我们来学习Animation动画.通 ...

  5. IT兄弟连 HTML5教程 CSS3属性特效 小结及习题

    本章小结 CSS3新增了许多属性,CSS3样式新增了一种颜色模式rgba用来制作透明色,比CSS的颜色模式多了一个透明度的设置.文字的CSS3特效有文字阴影.文字描边.文字排版和文字省略等.另外,CS ...

  6. IT兄弟连 HTML5教程 CSS3属性特效 CSS3背景

    CSS3规范中对背景这一部分,新加入了一些有用的功能,如可以设置多个背景图片.可以指定背景大小.设置背景渐变等功能.CSS3规范中定义的背景属性新增了background-clip.backgroun ...

  7. IT兄弟连 HTML5教程 CSS3属性特效 倒影

    在Web制作中,有些时候需要实现一些倒影的效果.在传统网页中,我们只能使用photoshop事先将倒影设计好,然后导入到网页中,这样不但耗费资源,也阻碍了开发效率.而CSS新增了Reflections ...

  8. IT兄弟连 HTML5教程 CSS3属性特效 3D变换3

    5  3D旋转 在三维变形中,我们可以让元素在任何轴旋转.为此,CSS3新增了三个旋转函数:rotateX().rotateY()和rotateZ().使用rotateX()函数允许一个元素围绕X轴旋 ...

  9. IT兄弟连 HTML5教程 CSS3属性特效 3D变换2

    3  perspective-origin景深基点 perspective-origin景深基点属性时3D变形中另一个重要属性,主要用来决定perspective属性的源点角度.它实际上设置了X轴和Y ...

随机推荐

  1. 你真的了解JMM吗?

    引言 在现代计算机中,cpu的指令速度远超内存的存取速度,由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cac ...

  2. Rest微服务案例

    数据库 数据库名称为Product; 创建api子工程,项目名为springcloud_api Product实体类 public class Product implements Serializa ...

  3. HTML5基础 实例

    <!DOCTYPE html><html> <head> <title>李清照简介</title> </head> <bo ...

  4. CoderFocers-620C

    There are n pearls in a row. Let's enumerate them with integers from 1 to n from the left to the rig ...

  5. 洛谷 题解 P1025 【数的划分】

    将n个小球放到k个盒子中的情况总数 = (a)至少有一个盒子只有一个小球的情况数 + (b)没有一个盒子只有一个小球的情况数 这样写出表达式: a.因为盒子不加区分,那么=情况数与"将n-1 ...

  6. 将项目部署到github的方法

    GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub. GitHub于2008年4月10日正式上线,除了Git代码仓库托管及基本的 We ...

  7. 最全的linux系统安装教程和排错方法

    第4章 linux信息和系统安装与连接    260 4.1 linux的发展历史    260 4.2 GPL协议,FSF协议    261 4.3 linux系统的安装    261 4.3.1 ...

  8. ARTS-S cmake,googletest使用

    编译gtest 下载指定tag的源代码 git clone https://github.com/google/googletest.git cd googletest git checkout ta ...

  9. unix环境高级编程中的err_quit,err_sys用到的知识点

    unix环境高级编程中的err_quit,err_sys 环境 os CentOS release 6.7 (Final) gcc 4.4.7 c语言预备知识 标准输入输出文件 在linux系统中一切 ...

  10. python基础入门while循环 格式化 编码初识

    一.while循环 1.格式 while+空格+条件+英文冒号: ​ 缩进+结果(循环体) ​ #若条件为真则一直执行,条件为假则不执行 while True: print('痒') print('. ...