博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第七十九,CSS3背景渐变效果
阅读量:5272 次
发布时间:2019-06-14

本文共 4030 字,大约阅读时间需要 13 分钟。

CSS3背景渐变效果

 

学习要点:

1.线性渐变
2.径向渐变

本章主要探讨HTML5中CSS3背景渐变功能,主要有两种渐变方式:线性渐变和径向 (放射性)渐变。

 

一.线性渐变

linear-gradient背景颜色的渐变功能

CSS3提供了linear-gradient属性实现背景颜色的渐变功能。在以前,这种效果必须采用图片才能实现的。首先,我们先看一下它的样式表,如下:             

 

 linear-gradient(方位,起始色,末尾色)

                      方位          可选参数,渐变的方位。可以使用的值有:

                            totop、to topright、to right、to bottom、to bottomleft、toleft、to top left。

 

                  起始色         必选参数,颜色值

 

                  末尾色         必选参数,颜色值

两个必须参数

p{
width: 200px; height: 100px; background-image: linear-gradient(#ffbe18, #138010);}

是一部由北青传媒股份

增加一个方位

p{
width: 200px; height: 100px; background-image: linear-gradient( to top,#ffbe18, #138010);}

是一部由北青传媒股份

 

通过top、left、right、bottom这四组实现的渐变方向有时比较单一,我们可以使用以角度单位的数值来设置方位。比如 度(0deg)相当于totop;角度会沿逆时针方向随着你的角度的增加而增加。

通过角度设置方位, ~ 36 度之间,可以是负值

p{
width: 200px; height: 100px; background-image: linear-gradient(45deg, #ffa500, #008000);}

是一部由北青传媒股份

 

多色线性渐变

 

p{
width: 200px; height: 100px; background-image: linear-gradient(-45deg, #ffa500, #008000, #0000ff, #ff0000);}

是一部由北青传媒股份

 

 

通过百分比设置多色线性位置

p{
width: 200px; height: 100px; background-image:linear-gradient(-45deg, #ffa500 0%, #008000 20%, #0000ff 40%, #ff0000 1%);}

是一部由北青传媒股份

 

默认情况下:起始颜色的百分比位置是0%,末尾颜色的百分比位置是1 %,其他位置按照平均值分配。也可以使用px像素来设定,但计算麻烦点。 

结合背景,并使用透明渐变实现强大层次感

 

p{
width: 200px; height: 100px; background-color: red; background-image: linear-gradient(to top right, rgba(0,0,0,0.6),rgba(0,0,0,0));}

是一部由北青传媒股份

重复渐变属性值

p{
width: 200px; height: 100px; background-image:repeating-linear-gradient(to top,orange 10px, green 30px);}

是一部由北青传媒股份

 目前最新的主流浏览器都支持CSS3的渐变属性,那么对于之前的浏览器支持度如何呢?可以参考如下的表:

                                Opera        Firefox      Chrome         Safari          IE

     部分支持需带前缀        11.5                  无             4 ~ 9            4 ~ 5            无

       支持需带前缀                   无             3.6 ~ 15        1 ~ 25       5.1~ 6             无

       支持不带前缀                   12.1+               16+                  26+                    6.1+                 10.0+

这里提到了部分支持,说明当时可能渐变还尚未完善,但可以通过添加前缀来使用它了。具体哪些没完善,已经无法考证了,版本太过久远。那么支持带前缀和不支持带前缀的完整 格式如下:

加上兼容前缀

p{
background-image: -webkit-linear-gradient(to top, orange, green); background-image: -moz-linear-gradient(to top, orange, green); background-image: -o-linear-gradient(to top, orange, green); background-image: linear-gradient(to top, orange, green);}

是一部由北青传媒股份

repeating-linear-gradient属性值和linear-gradient基本相同,不在赘述。 

 

二.径向渐变

radial-gradient背景径向渐变

CSS3提供了径向渐变,也叫做放射性渐变:radial-gradient属性值。它是从一个点向四周发散的方式扩展。属性值样式表如下:

radial-gradient(方位,起始色,末尾色)

             方位                  可选参数,径向的方位。可以使用的值有:像素、百分比、固定值,或复合搭配使用                    

           起始色                 必选参数,颜色值

           末尾色                 必选参数,颜色值

两个必选参数

p{
background-image: radial-gradient(orange, green);}

是一部由北青传媒股份

 

如果想设置第一个可选参数,有一种做法是设置为:cirlce(圆形)或ellipse(椭圆形)。默认是椭圆形。

           形状                   说明

           circle             圆形

          ellipse            椭圆形,默认值

p{
background-image: radial-gradient(circle, orange, green);}

是一部由北青传媒股份

 

不单单可以设置形状,还可以设置形状的发散方向 

            方向                       说明

            top                  从顶部发散

            left                    从左侧发散

           right              从右侧发散

           bottom              从底部发散

           center             从中间发散

p{
background-image: radial-gradient(circle at top, orange, green); }

是一部由北青传媒股份

 

也可以复合方向,比如右下方

p{
background-image: radial-gradient(circle at right bottom, orange, green);}

是一部由北青传媒股份

 

可以设置发散的距离,即圆的半径长度 

         半径关键字                     说明

       closest-side          指定径向渐变的半径长度为从圆心到离圆心最近的边

      closest-corner       指定径向渐变的半径长度为从圆心到离圆心最近的角

       farthest-side        指定径向渐变的半径长度为从圆心到离圆心最远的边

      farthest-corner     指定径向渐变的半径长度为从圆心到离圆心最远的角

p{
background-image:radial-gradient(circle closest-side,orange,green);}

是一部由北青传媒股份

 

关键字有点拗口,可以用像素表示半径,但不接受百分比

p{
background-image: radial-gradient(circle 50px, orange, green);}

是一部由北青传媒股份

 

同样,也有重复背景方式

p{
background-image: repeating-radial-gradient(circle 50px, orange, green);}

是一部由北青传媒股份

 

兼容模式 

p{
background-image: -webkit-radial-gradient(circle,orange, green); background-image: -moz-radial-gradient(circle,orange, green); background-image: -o-radial-gradient(circle,orange, green); background-image: radial-gradient(circle, orange, green);}

是一部由北青传媒股份

 

两个重复背景只要加上前缀就是兼容模式了 

background-image: -webkit-repeating-radial-gradient background-image: -moz-repeating-radial-gradient background-image: -o-repeating-radial-gradient background-image: repeating-radial-gradient

 

转载于:https://www.cnblogs.com/adc8868/p/5983364.html

你可能感兴趣的文章
装配SpringBean(一)--依赖注入
查看>>
daydayup2 codeforces143C
查看>>
ANT打包J2EE项目war包
查看>>
UESTC-我要长高 DP优化
查看>>
java选择文件时提供图像缩略图[转]
查看>>
方维分享系统二次开发, 给评论、主题、回复、活动 加审核的功能
查看>>
Matlab parfor-loop并行运算
查看>>
string与stringbuilder的区别
查看>>
2012-01-12 16:01 hibernate注解以及简单实例
查看>>
iOS8统一的系统提示控件——UIAlertController
查看>>
PAT甲级——1101 Quick Sort (快速排序)
查看>>
python创建进程的两种方式
查看>>
1.2 基础知识——关于猪皮(GP,Generic Practice)
查看>>
迭代器Iterator
查看>>
java易错题----静态方法的调用
查看>>
php建立MySQL数据表
查看>>
最简单的线程同步的例子
查看>>
旅途上看的电影和观后感
查看>>
qt实现类似QQ伸缩窗口--鼠标事件应用
查看>>
Ztree异步树加载
查看>>