渐变:

CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡。
分为线性渐变(linear-gradient)、径向渐变(radial-gradient)

线性渐变(linear-gradient):

为了创建一个线性渐变,必须至少定义两种颜色。这个颜色就是你想呈现的平稳过渡的颜色,同时也可以设置一个起点和一个方向(或一个角度)。
语法:background:linear-gradient(direction,color1,color2……)
1、线性渐变—从上到下(默认情况下)
下面的实例演示了从顶部开始的线性渐变。起点是热粉色,慢慢过渡到深天蓝:
注:适配所有浏览器,需要加各大浏览器的前缀。下同,不会再赘述。
div{
background:linear-gradient(hotpink,deepskyblue);/标准的语法/
background:-webkit-linear-gradient(hotpink,deepskyblue);/谷歌,Safari/
background:-o-linear-gradient(hotpink,deepskyblue);/Opera/
background:-moz-linear-gradient(hotpink,deepskyblue);/Firefox/background:-ms-linear-gradient(hotpink,deepskyblue);/IE/
}
效果如下图:


2、线性渐变—从右到左
下面的实例演示了从右边开始的线性渐变。起点是红色,慢慢过渡到粉色,再到天蓝色:
div{
background:linear-gradient(to left,red,pink,shyblue);/*–
webkit前缀的浏览器要注意一下,假如默认情况下是to left,
如果想要达到相同的效果,这里需要写right,否则渐变方向相反
下面的其他效果也是一样,请多加注意!!!
–*/
background:-webkit-linear-gradient(right,red,pink,shyblue);
background:-o-linear-gradient(left,red,pink,shyblue);
background:-moz-linear-gradient(left,red,pink,shyblue);background:-ms-linear-gradient(left,red,pink,shyblue);
}
另外需要注意的是:默认写法方向需要加to,而加浏览器前缀后,不需要加to
效果图如下:


3、线性渐变—对角/角度
3.1对角,你可以通过指定水平和垂直的起始位置来制作一个对角渐变。下面的实例演示了从左上角开始(到右下角)的线性渐变。起点是红色,慢慢过渡到粉色,再到天蓝色:div{
background:linear-gradient(to right bottom,red,pink,skyblue);background:-webkit-linear-gradient(left top,red,pink,skyblue);/这里右下对应左上/background:-o-linear-gradient(right bottom,red,pink,skyblue);background:-moz-linear-gradient(right bottom,red,pink,skyblue);background:-ms-linear-gradient(right bottom,red,pink,skyblue);

}
效果图如下:

3.2角度,使用角度可以达到同样的效果:
角度:正值逆时针,赋值顺时针
div{
background:linear-gradient(45deg,red,pink,skyblue);
background:-webkit-linear-gradient(45deg,red,pink,skyblue);/角度不用相对/
background:-o-linear-gradient(45deg,red,pink,skyblue);
background:-moz-linear-gradient(45deg,red,pink,skyblue);
background:-ms-linear-gradient(45deg,red,pink,skyblue);
}
给了一个45deg,就和上面那个从左上到右下的效果一样,当然了,角度可以随意调整,这里只是为了说明这两个可以达到同样的效果。
效果图如下:


4、线性渐变—平铺/重复
repeating-linear-gradient() 函数用于重复线性渐变:
取值单位可以是px也可以使百分比
注:平铺/重复的角度webkit和默认写法也有一些区别:默认写法的0deg是从上到下的,但是webkit的需要旋转90deg才是
下面的实例演示了从左上角开始(到右下角)的线性渐变。起点是红色,慢慢过渡到粉色,再到天蓝色:
div{
background:repeating-linear-gradient(0deg,pink20px,skyblue40px);
background:-webkit-repeating-linear-gradient(90deg,pink20px,skyblue40px);
background:-o-repeating-linear-gradient(0deg,pink20px,skyblue40px);
background:-moz-repeating-linear-gradient(0deg,pink20px,skyblue40px);
background:-ms-repeating-linear-gradient(0deg,pink 20px,skyblue 40px);
}
注:这个平铺个数的算法是(div的总高度/40-20)
我这里div的高度是200px,所以平铺的个数为200/20=10个
效果图如下:


5、线性渐变—控制渐变的区域范围
下面的实例演示了从80px开始到120px的线性渐变,渐变区域是120-80=40px,这里用了颜色明显的红色和蓝色,以突出渐变的那40px:
div{
background:linear-gradient(red 80px,blue120px);
background:-webkit-linear-gradient(red 80px,blue120px);
background:-o-linear-gradient(red80px,blue120px);
background:-moz-linear-gradient(red80px,blue120px);
background:-ms-linear-gradient(red 80px,blue 120px);
}
效果图如下:


6、线性渐变—透明度的使用
CSS3 渐变也支持透明度(transparency),可用于创建减弱变淡的效果。
为了添加透明度,我们使用 rgba() 函数来定义颜色结点。
rgba() 函数中的最后一个参数可以是从 0 到 1 的值,它定义了颜色的透明度:0 表示完全透明,1 表示完全不透明。
下面的实例演示了从左边开始的线性渐变。起点是完全透明,慢慢过渡到完全不透明的红色:
div{
background: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1));
background: -webkit-linear-gradient(left,rgba(255,0,0,0),rgba(255,0,0,1));
background: -o-linear-gradient(right,rgba(255,0,0,0),rgba(255,0,0,1));
background: -moz-linear-gradient(right,rgba(255,0,0,0),rgba(255,0,0,1));
background: -ms-linear-gradient(right,rgba(255,0,0,0),rgba(255,0,0,1));
}
效果图如下:


范例:
用线性渐变写绿草的范例:.item11{
width:900px;height:50px;background-image:linear-gradient(45deg,blue40px,transparent40px);/跟背景图设置似的/background-size:30px50px;
}
效果图如下:



径向渐变(radial-gradient)

径向渐变由它的中心定义。
为了创建一个径向渐变,你也必须至少定义两种颜色结点。颜色结点即你想要呈现平稳过渡的颜色。
同时,你也可以指定渐变的中心、形状(原型或椭圆形)、大小。
默认情况下,渐变的中心是 center(表示在中心点),渐变的形状是 ellipse(表示椭圆形),渐变的大小是 farthest-corner(表示到最远的角落)。
不能指定角度,可以给方向
1、径向渐变—默认、渐变中心、渐变大小
下面的实例演示了从中心开始的径向渐变。起点是黑色,终点是红色:
div{
background: radial-gradient(black,red);
background: -webkit-radial-gradient(black,red);
background: -o-radial-gradient(black,red);
background: -moz-radial-gradient(black,red);
background: -ms-radial-gradient(black,red);
}
添加了px区域的
div{
background: radial-gradient(black 100px,red 100px);
background: -webkit-radial-gradient(black 100px,red 100px);
background: -o-radial-gradient(black 100px,red 100px);
background: -moz-radial-gradient(black 100px,red 100px);
background: -ms-radial-gradient(black 100px,red 100px);
}
改变了渐变方向的:
div{
background: radial-gradient(right,black 100px,red 100px);
background: -webkit-radial-gradient(right,black 100px,red 100px);
background: -webkit-radial-gradient(right,black 100px,red 100px);
background: -webkit-radial-gradient(right,black 100px,red 100px);
background: -webkit-radial-gradient(right,black 100px,red 100px);
}
效果图如下:

添加了px的:

改变了渐变方向的:


2、径向渐变—平铺
原理与线性渐变平铺一样,不再赘述。
下面的实例演示了从中心开始的径向渐变。起点是黑色,重点是红色,然后平铺渐变区域:
div{
background: repeating-radial-gradient(black 50px,red 70px);
background: -webkit-repeating-radial-gradient(black 50px,red 70px);
background: -webkit-repeating-radial-gradient(black 50px,red 70px);
background: -webkit-repeating-radial-gradient(black 50px,red 70px);
background: -webkit-repeating-radial-gradient(black 50px,red 70px);
}
效果图如下:有点像玫瑰花哦,哈哈哈~


3.径向渐变—渐变形状/重复
如果是长方形就拉伸为椭圆,想让显示为圆形的话,可以加一个circle在red前面(circle圆形,ellipse默认,椭圆),这时候方向写在最前面。
上面的例子是在正方形(200*200)里的模样,默认为圆形,在长方形(400*200)里就是椭圆形
div{
width:400px;
background: repeating-radial-gradient(black 50px,red 70px);
background: -webkit-repeating-radial-gradient(black 50px,red 70px);
background: -webkit-repeating-radial-gradient(black 50px,red 70px);
background: -webkit-repeating-radial-gradient(black50px,red70px);
background: -webkit-repeating-radial-gradient(black50px,red70px);
}
效果图如下:

加上圆形circle就可以变成圆形:
div{
width:400px;
background: repeating-radial-gradient(circle,black 50px,red 70px);
background: -webkit-repeating-radial-gradient(circle,black 50px,red 70px);
background: -webkit-repeating-radial-gradient(circle,black 50px,red 70px);
background: -webkit-repeating-radial-gradient(circle,black 50px,red 70px);
background: -webkit-repeating-radial-gradient(circle,black 50px,red 70px);
}
效果图如下:

径向渐变可以和线性渐变混合使用:
div{
width: 400px;
background: -webkit-repeating-radial-gradient(circle,black 50px,red 70px),-webkit-repeating-linear-gradient(green 60px,purple 70px);
background-blend-mode:exclusion;
}
/这里只写webkit前缀的,其他浏览器也可以同样使用/
效果图如下:

渐变:线性渐变、径向渐变相关推荐

  1. CSS3 渐变: 线性渐变 linear-gradient 和 径向渐变 radial-gradient

    渐变背景也是CSS3 的新特性,通过它可以在不使用图像的情况下,创建从一种颜色到另一种颜色的过渡.使用渐变的好处是,可以减少对图像的依赖,进而降低浏览网页时的带宽消耗,提高网站的访问速度. 渐变,就是 ...

  2. CSS3线性、径向渐变、旋转、缩放、动画实现王者荣耀匹配人员加载页面

    前言 日子总是像从指尖流过的细沙,在不经意间悄然的滑落.转眼2019年第一季度已经过去了,提前祝大家愚人节快乐,当心被人愚弄哦(就算被愚弄也不要生气啦). 先来看看今天要实现的效果原图: 玩过王者的应 ...

  3. SVG 教程 (六)SVG 阴影,SVG 渐变 - 线性,SVG 渐变- 放射性

    SVG 阴影 注意: Internet Explorer和Safari不支持SVG滤镜! <defs> 和 <filter> 所有互联网的SVG滤镜定义在<defs> ...

  4. css新特性:线性渐变详解(重复性线性渐变、径向渐变、重复性径向渐变的使用)

    线性渐变 线性渐变 重复性线性渐变 径向渐变 重复性径向渐变的使用 线性渐变 线性渐变是向下.向上.向左.向右.对角方向的颜色渐变. 其语法格式为: background-image: linear- ...

  5. CSS线性渐变和径向渐变详解

    第九章:渐变色 1.线性渐变 1.1.什么是线性渐变 1.2线性渐变的写法 2.径向渐变 2.1什么是径向渐变 2.2径向渐变的写法 总结 1.线性渐变 1.1.什么是线性渐变 线性渐变,顾名思义就是 ...

  6. CSS3渐变属性:线性渐变和径向渐变用法教程

    在CSS3之前如果需要添加渐变效果,通常要设置背景图像来实现.而CSS3中增加了渐变属性,通过渐变属性可以轻松实现渐变效果.CSS3的渐变属性主要包括线性渐变和径向渐变,本文转自黑马程序员前端培训课程 ...

  7. PS的安装、背景、背景练习、雪碧图/精灵图、线性渐变、径向渐变、电影卡片练习——06fontbackground

    目录 一.PS的安装 二.背景(background-color.background-image. background-repeat.background-position.background- ...

  8. CSS3渐变——线性渐变

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

  9. css好看的html径向渐变,CSS3径向渐变

    上次说到CSS3中的线性渐变,表面上看起来似乎有些复杂,但是逐条分解下来其实也没有那么难理解,总结下来无外乎就三点:颜色.方向和位置.那么今天所要讲到的径向渐变相对来说会更复杂一些,不过没有关系,我们 ...

最新文章

  1. Java:new一个对象的过程中发生了什么?
  2. 全了!从Python入门到精通
  3. 算法--微软面试:指定数字在数组中出现的次数
  4. Python的re.match()和re.search()的使用和区别
  5. mysql text 查询速度_数据库学习之让索引加快查询速度(四)
  6. 实现机器学习的循序渐进指南系列汇总
  7. linux logcat阻塞,同时使用logcat的在Linux中
  8. centos7如何添加开机启动服务/脚本
  9. 世界杯来了,移动办公的“世界杯”怎么踢?
  10. rxbus 源码_Rxbus事件交互
  11. wordpress主题_20个美丽的Flat WordPress主题,为您的网站增光添彩
  12. Python3网络爬虫教程7——SSL数字证书
  13. 【密码科普】第7期 - 凯撒密码与密码机
  14. 淘宝校园笔试题鸡蛋与篮子
  15. 神州优车联合体斥资近40亿控股宝沃 建立联合营销工作小组
  16. 23微分方程和exp(At)
  17. 如何查看linux当前版本
  18. 智能家居的分类有哪些?
  19. interrupt、interrupted 、isInterrupted 详解04
  20. 网页布局中的 px,em,rem,pt

热门文章

  1. spring boot 集合 shiro
  2. push()与pop()的使用
  3. rabbitmq和erlang版本对应关系
  4. 秋招选择题(二)图形推理题
  5. 实现条码枪的无焦点扫码
  6. 多线程开发实战:Java实现多线程四种方式及相关方法原理
  7. 11.STC15W408AS单片机CCP/PCA/PWM应用
  8. 上海大学c语言吉米试题,求c语言大神学长学姐解答题目
  9. 大数据教你如何购买净化器
  10. 数据挖掘——关联规则挖掘