随着网站的越来越普及,CSS3HTML5必将成为网站前端发展的主流方向,特别是在移动端,高端浏览器给前端工程师们带来了无以言表的体验。

通俗的来讲,CSS3可以说是CSS技术的升级版本,CSS3语言开发是朝着模块化发展的。以前的规范作为一个模块实在是太庞大而且比较复杂,所以,把它分解为一些小的模块,更多新的模块也被加入进来。这些模块包括:盒子模型、列表模块、超链接方式 、语言模块 、背景和边框 、文字特效 、多栏布局等。那么,今天我首先要在马海祥博客上跟大家分享的就是CSS3的Gradients(梯度渐变)。

首先我们先来看下新的梯度渐变语法,新的语法包含四个渐变函数:

linear-gradient()
  radial-gradient()
  repeating-linear-gradient()
  repeating-radial-gradient()

这些函数名无需过多的解释,我之后会在马海祥博客上谈到更多关于循环渐变网页设计

因为规范仍是初稿阶段,所以我们在这些渐变函数前加以-webkit-前缀。当以后规范不再是初稿阶段,我们将能够不加前缀而使用他们。

1、Linear Gradients(线性梯度渐变)

为元素盒模型填充线性渐变是最常用的。你只需要考虑渐变从哪个方向开始。据马海祥了解有两种方式可以去指定它。

第一种,你可以指定渐变从哪个方向或角落开始:

 

linear-gradient(left, white, black)

 

linear-gradient(top right, white, black)

你甚至可以省略第一个参数,他将默认为top并给出一个垂直渐变。

第二种,你可以指定渐变的角度:

 

linear-gradient(135deg, white, black)

角度按逆时针方向旋转,0度时为从左向右方向。

注意在所有这些情况下,渐变足够大以填满元素盒模型。

2、Radial Gradients(径向梯度渐变)

径向渐变更加复杂,在填充时有更多的选项。

马海祥觉得最简单的形式是以元素盒模型中心为渐变起始,向外填充至每个角落:

 

radial-gradient(white, black)

这相当于 radial-gradient(center, ellipse cover, white, black)。

第一个参数为可选,默认为 center ,也可以是一个点(就像 background-position ),他允许你将原点放置到其它地方:

 

radial-gradient(10% 30%, white, black)

原点位置后面的参数用来指定渐变的形状和大小,这是两种方式之一。

这种方式用一些关键词来描述形状(circle,ellipse)和大小(closest-side,closest-corner,farthest-side,farthest-corner,contain,cover)例如:

 

radial-gradient(30% 30%, closest-corner, white, black)

 

radial-gradient(30% 30%, circle closest-corner, white, black)

如果你愿意,你还可以分别指定径向渐变的水平与垂直结束半径:

 

radial-gradient(center, 5em 40px, white, black)

3、Repeating Gradients(重复梯度渐变)

循环渐变 repeating-linear-gradient()和repeating-radial-gradient()

拥有完全相同的简写语法,且整个渐变将被循环填充:

 

repeating-linear-gradient(left, red 10%, blue 30%)

这些停靠点将被循环用于调整他们首尾相连,这常常会导致颜色之间过渡强烈。

你可以避免循环末尾的颜色:

 

repeating-radial-gradient(top left, circle, red, blue 10%, red 20%)

4、Color Stops(色站)

为渐变指定颜色停靠点很容易;最简单的情况下,你只需要提供一个颜色列表:

 

linear-gradient(left, red, green, blue)

这样会使所有的颜色平均分布于渐变之上。web前端

如果你愿意,你还可以为个别颜色定位具体的停靠点,然后让浏览器分配其它剩余的:

 

linear-gradient(bottom left, red 20px, yellow, green, blue 90%)

那些渐变轴线可能是条对角线;那么百分比则相应对角线的长度。

颜色的停靠点相同会使颜色之间过渡强烈:

 

linear-gradient(top left, red, yellow, green 60%, purple 60%, blue)

如何通过CSS3实现背景图片色彩的梯度渐变的更多相关文章

  1. ☀【CSS3】背景图片

    CSS3全新的背景图片方案http://www.cnblogs.com/rubylouvre/p/3401125.html

  2. CSS3 background-image背景图片相关介绍

    这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...

  3. CSS3设置背景图片的大小

    设置背景图片的大小,以长度值或百分比显示,还可以通过cover和contain来对图片进行伸缩. background-size 语法详解: 要在插入图片之后进行设置背景图片的大小 backgroun ...

  4. css3 设置背景图片大小(缩略图形式缩小)

    废话当然不说了. 直接上代码 <style> #mycon { background:url('Tpl/1.jpg'); background-size:400px 400px; back ...

  5. 3.css3中多个背景图片的用法

    (background-clip裁剪,background-position位置,background-origin定位,background-repeat是否重复) <!DOCTYPE htm ...

  6. css3全屏背景图片切换特效

    效果体验:http://hovertree.com/texiao/css3/10/ 一般做图片切换效果,都会使用JS或者jQuery脚本,今天发现,其实只用CSS也可以实现.试试效果吧. 效果图: 代 ...

  7. 让低版本IE支持css3背景图片缩放属性background-size

    IE7,8中不支持背景图片的缩放.下面的代码可以帮你实现兼容 background: url(/content/img/yuehuibtn.png);//css3代码 background-size: ...

  8. CSS3全新的背景图片方案

    CSS3全新的背景图片方案 firefox支持指定一个元素的ID将它作为另一个元素的背景-moz-element(#ID), webkit系支持-webkit-canvas(xxxx)动态创建一个ca ...

  9. CSS3背景图片(多重背景、起始位置、裁剪、尺寸)

    一.多重背景图片 ①CSS3允许我们在一个元素上添加多个图片 ②多重背景可以把多个图片资源添加到background属性上,用逗号隔开,然后用background-position把他们定位到你想要的 ...

随机推荐

  1. oracle数据库执行脚本常用命令总结

    1. 执行一个SQL脚本文件 代码如下 复制代码 sqlplus user/pass@servicename<file_name.sql或SQL>start file_names或SQL& ...

  2. 项目中重新引用WCF报错

    今天在一个项目里,重新更新WCF引用的时候,居然报错了,提示根本找不到那个WCF接口,我赶紧跑去新建了一个空项目,试着用相同的地址引用一下,发现是可以的,完全ok 既然是虚惊一场,那就得想办法把这个W ...

  3. cocos2d-x中Node与Node层级架构

    Cocos2d-x采用层级(树形)结构管理场景.层.精灵.菜单.文本.地图和粒子系统等节点(Node)对象.一个场景包含了多个层,一个层又包含多个精灵.菜单.文本.地图和粒子系统等对象.层级结构中的节 ...

  4. Firebug 调试技巧之console API

    console.log(object[, object, ...]) Writes a message to the console. You may pass as many arguments a ...

  5. mysql 存储过程详解 存储过程

    mysql存储过程详解 1.      存储过程简介         我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成 ...

  6. 工作单元(Unit of Work)

    维护受业务事务影响的对象列表,并协调变化的写入和并发问题的解决. 从DB中存取Data时,必须记录增删改动作,以将对DB有影响的数据写会到DB中去. 如果在每次修改对象模型时就对DB进行相应的修改,会 ...

  7. Flex设置外部浏览器

    Flex Builder默认的外围浏览器是微软 Internet Explorer. 如果想改成Firefox,步骤如下: Window>Preferences>General>We ...

  8. brewhome - 第三方包管理工具

    最近对移动开发感兴趣,于是乎有了相当正式的理由购买了一台macbook pro 13. 我虽然以前没有使用过mac os,但是上手却很快,这大概跟我最近几年一直在使用linux系统有关吧.我平时上班时 ...

  9. Xcode中为代码添加特殊标记

    有时候,我们需要在代码中搜索特殊的符号或者代码段,根据符号或使用搜索功能导航代码段效率并不算高.为了使用普通的英语标识重要的代码片段,可在代码中插入特殊格式的注释.这些注释不会在应用程序中添加任何特殊 ...

  10. 一路走过的2013,welcome to 2014

    驻入博客园,还是在大学时,至今没写过一篇博客,一直都是在看人家写的博客.2014 年第一天,就从这一天,开启博客之旅,与大家分享好书,分享技术,结交好朋友. 简单,介绍下自己,大三实习,因为热衷于互联 ...