第七十九,CSS3背景渐变效果

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>是一部由北青传媒股份</p>

增加一个方位

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

<p>是一部由北青传媒股份</p>

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

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

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

<p>是一部由北青传媒股份</p>

多色线性渐变

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

<p>是一部由北青传媒股份</p>

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

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

<p>是一部由北青传媒股份</p>

默认情况下:起始颜色的百分比位置是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>是一部由北青传媒股份</p>

重复渐变属性值

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

<p>是一部由北青传媒股份</p>

 目前最新的主流浏览器都支持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);
}

<p>是一部由北青传媒股份</p>

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

二.径向渐变

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

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

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

           起始色                 必选参数,颜色值

           末尾色                 必选参数,颜色值

两个必选参数

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

<p>是一部由北青传媒股份</p>

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

           形状                   说明

           circle             圆形

          ellipse            椭圆形,默认值

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

<p>是一部由北青传媒股份</p>

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

            方向                       说明

            top                  从顶部发散

            left                    从左侧发散

           right              从右侧发散

           bottom              从底部发散

           center             从中间发散

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

<p>是一部由北青传媒股份</p>

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

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

<p>是一部由北青传媒股份</p>

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

         半径关键字                     说明

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

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

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

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

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

<p>是一部由北青传媒股份</p>

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

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

<p>是一部由北青传媒股份</p>

同样,也有重复背景方式

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

<p>是一部由北青传媒股份</p>

兼容模式 

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);
}

<p>是一部由北青传媒股份</p>

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

background-image: -webkit-repeating-radial-gradientbackground-image: -moz-repeating-radial-gradientbackground-image: -o-repeating-radial-gradientbackground-image: repeating-radial-gradient 
时间: 2024-08-14 21:21:41

第七十九,CSS3背景渐变效果的相关文章

第三百七十九节,Django+Xadmin打造上线标准的在线教育平台—xadmin的安装

第三百七十九节,Django+Xadmin打造上线标准的在线教育平台-xadmin的安装 xadmin介绍 xadmin是基于Django的admin开发的更完善的后台管理系统

(七十九)c#Winform自定义控件-导航菜单

前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:https://gitee.com/kwwwvagaa/net_winform_custom_control.git 如果觉得写的还行,请点个 star 支持一下吧 欢迎前来交流探讨: 企鹅群568015492  来都来了,点个[推荐]再走吧,谢谢 NuGet Install-Package HZH_C

第一百七十九节,jQuery-UI,知问前端--按钮 UI

jQuery-UI,知问前端--按钮 UI 学习要点: 1.使用 button 按钮 2.修改 button 样式 3.button()方法的属性 4.button('action', param) 5.单选.复选按钮 按钮(button),可以给生硬的原生按钮或者文本提供更多丰富多彩的外观.它不单单 可以设置按钮或文本,还可以设置单选按钮和多选按钮. 一.使用 button 按钮 使用 button 按钮 UI 的时候,不一定必须是 input 按钮形式,普通的文本也可以设置成 button

一起talk C栗子吧(第一百七十九回:C语言实例--字符和字符串输出函数二)

各位看官们,大家好,上一回中咱们说的是字符和字符串输出函数的例子,这一回咱们继续说该例子.闲 话休提,言归正转.让我们一起talk C栗子吧! 看官们,我们在上一回中介绍了字符和字符串输出函数的用法,満篇都是理论,古语云:纸上得来终觉浅,绝知此事要躬行.这一回中我们要把这些纸上得来理论应用于实践中,让我们一起动手去实践吧. 接下来,我们将通过具体的代码来说明如何使用字符输出函数,以及使用时的注意事项: int main() { char ch = 'a'; char *str = "hello

053(七十九)

391. 391.When setting up the Flashback Data Archive, which of these key parameters are required? (Choose all that apply.) A. Tablespace name B. Storage quota C. Retention D. Table name E. Create a default archive 392. 392.To clean up old records that

C#编程(七十九)---------- 反射

反射 在介绍翻着之前,先说两个小案例 B超:什么叫B超呢?就是透过肚皮能看到你内脏的情况,不用打开肚子才能看.这是什么样的一种技术呢?B超是B型超声波,它可以透过肚皮通过向你体内发射B型超声波,当超声波遇到内脏壁的时候就会产生一定的"回音"反射,然后把"回音"进行处理就可以显示出内脏的情况了 地球内部结构:地球的内部结构大体可以分为三层:地壳.地幔和地核.地壳是固体,地核是液体,地幔则是半液半固的结构(中学地理的内容,大家还记得吧?).如何在地球表面不用深入地球内部

第二百七十九节,MySQL数据库-pymysql模块

MySQL数据库-pymysql模块 pymysql模块是python操作数据库的一个模块 connect()创建数据库链接,参数是连接数据库需要的连接参数使用方式: 模块名称.connect() 参数: host=数据库ip port=数据库端口 user=数据库用户名 passwd=数据库密码 db=数据库名称 cursor()创建数据库操作游标,无参使用方式: 游标变量.cursor() execute()操作数据库,参数1 sql语句,参数2 字符串占位符变量使用方式: 游标变量.exe

three.js 源码注释(七十九)extras/geometries/TorusGeometry.js

商域无疆 (http://blog.csdn.net/omni360/) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:商域无疆 -  本博客专注于 敏捷开发及移动和物联设备研究:数据可视化.GOLANG.Html5.WEBGL.THREE.JS,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 俺也是刚开始学,好多地儿肯定不对还请见谅. 以下代码是THREE.JS 源码文件中extras/geometries/TorusGeometry.js文件的注释. 更多

ActionScript3游戏中的图像编程(连载七十九)

总目录:http://blog.csdn.net/iloveas2014/article/details/38304477 4.3.6 ColorMatrix中的矩阵数学 ColorMatrix是DynamicMatrix的子类,它一初始化就固定了矩阵的尺寸:5*5(为什么不是5*4呢,相信这个问题我不需要再次解释了),并且填入单位矩阵的数据: 该类有5个方法,前4个分别对应AdjustColor的亮度,对比度,饱和度和色相属性,最后一个是getFlatArray,它的唯一作用就是把矩阵中的有效