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-gradient
background-image: -moz-repeating-radial-gradient
background-image: -o-repeating-radial-gradient
background-image: repeating-radial-gradient

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

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

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

  2. “全栈2019”Java第七十九章:类中可以嵌套接口吗?

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

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

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...

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

    jQuery-UI,知问前端--按钮 UI 学习要点: 1.使用 button 按钮 2.修改 button 样式 3.button()方法的属性 4.button('action', param) ...

  5. salesforce零基础学习(七十九)简单排序浅谈 篇一

    我们在程序中经常需要对数据列表进行排序,有时候使用SOQL的order by 不一定能完全符合需求,需要对数据进行排序,排序可以有多种方式,不同的方式针对不同的场景.篇一只是简单的描述一下选择排序,插 ...

  6. (七十九)MapKit的基本使用

    MapKit是苹果公司开发的用于显示地图和实现定位.导航的地图框架. MapKit View可以通过storyboard.xib创建,也可以通过代码直接创建. 需要注意的是,通过storyboard和 ...

  7. Java开发笔记(七十九)利用反射技术操作私有属性

    早在介绍多态的时候,曾经提到公鸡实例的性别属性可能被篡改为雌性,不过面向对象的三大特性包含了封装.继承和多态,只要把性别属性设置为private私有级别,也不提供setSex这样的性别修改方法,那么性 ...

  8. 第七十九课 最短路径(Floyd)

    程序如下: #ifndef GRAPH_H #define GRAPH_H #include "Object.h" #include "SharedPointer.h&q ...

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

    反射 在介绍翻着之前,先说两个小案例 B超:什么叫B超呢?就是透过肚皮能看到你内脏的情况,不用打开肚子才能看.这是什么样的一种技术呢?B超是B型超声波,它可以透过肚皮通过向你体内发射B型超声波,当超声 ...

随机推荐

  1. saltstack布署实践 【安装】

    借用链接http://www.cnblogs.com/liuyansheng/p/6094122.html的安装方式,我再同步一下其它操作系统的安装方式,由原Docker官网拷贝 Ubuntu1404 ...

  2. (一)Harbor安装 -- 企业级Registry仓库

    根据Harbor官方描述: Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源Docker Distri ...

  3. [UWP小白日记-15]在UWP手机端实时限制Textbox的输入

    说实话重来没想到验证输入是如此的苦逼的一件事情.     网上好多验证都是在输入完成后再验证,我的想法是在输入的时候就限制输入,这样我就不用再写代码来验证了 应为是手机端,所以不用判断其他非法字符,直 ...

  4. GridView”的控件 必须放在具有 runat=server 的窗体标记内 “错误提示”

    在做导出数据到EXCEL程序中,出现了错误提示:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记 解决办法  重写 VerifyRendering ...

  5. Codeforces Round #386 (Div. 2)

    迟到的一次比赛 最近状态很崩溃 网速很慢 然后前面五题看了都有打 但是 只有A B E 是过了的 是时候要反省一下 A.随便判断一下就好 最少的份数嘛 B.画出来之后是一下子左边一下子右边 打一个递归 ...

  6. 三界商城 ajax调用城市接口,竟然需要登录,调用的接口需要登录,如果不登录 重定向到登录

    现象 商家入驻 填写信息的 ajax请求没有数据 network->name-headers 返回302 发现调用的接口,需要登录,否则重定向登录 //初始化用户信息查询 public func ...

  7. python学习——DAY1

    日期:20170113 一.个人体会: 零基础学python,是艰辛的,需要付出和坚持. 关于流程图.我最开始画的是从上到下,再从左到右,画了很多重复的内容,单线程的流程图,看起来很容易理解,但是自己 ...

  8. 标准I/O 缓存

    标准I/O提供了三种类型的缓存: (1)全缓存.在这种情况下,当填满标准I/O 缓存后才进行实际 I/O 操作.对于驻在磁盘上的文件通常是由标准I/O库实施全缓存的.在一个流上执行第一次I/O操作时, ...

  9. 关于Container With Most Water的求解

    Container With Most Water 哎,最近心情烦躁,想在leetcode找找感觉,就看到了这题. 然而,看了题目半天,硬是没看懂,于是乎就百度了下,怕看到解题方法,就略看了下摘要,以 ...

  10. C# 动态对象(dynamic)的用法

    说到正确用法,那么首先应该指出一个错误用法: 常有人会拿var这个关键字来和dynamic做比较.实际上,var和dynamic完全是两个概念,根本不应该放在一起做比较.var实际上是编译期抛给我们的 ...