如何通过CSS3实现背景图片色彩的梯度渐变
随着网站的越来越普及,CSS3和HTML5必将成为网站前端发展的主流方向,特别是在移动端,高端浏览器给前端工程师们带来了无以言表的体验。
通俗的来讲,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实现背景图片色彩的梯度渐变的更多相关文章
- ☀【CSS3】背景图片
CSS3全新的背景图片方案http://www.cnblogs.com/rubylouvre/p/3401125.html
- CSS3 background-image背景图片相关介绍
这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...
- CSS3设置背景图片的大小
设置背景图片的大小,以长度值或百分比显示,还可以通过cover和contain来对图片进行伸缩. background-size 语法详解: 要在插入图片之后进行设置背景图片的大小 backgroun ...
- css3 设置背景图片大小(缩略图形式缩小)
废话当然不说了. 直接上代码 <style> #mycon { background:url('Tpl/1.jpg'); background-size:400px 400px; back ...
- 3.css3中多个背景图片的用法
(background-clip裁剪,background-position位置,background-origin定位,background-repeat是否重复) <!DOCTYPE htm ...
- css3全屏背景图片切换特效
效果体验:http://hovertree.com/texiao/css3/10/ 一般做图片切换效果,都会使用JS或者jQuery脚本,今天发现,其实只用CSS也可以实现.试试效果吧. 效果图: 代 ...
- 让低版本IE支持css3背景图片缩放属性background-size
IE7,8中不支持背景图片的缩放.下面的代码可以帮你实现兼容 background: url(/content/img/yuehuibtn.png);//css3代码 background-size: ...
- CSS3全新的背景图片方案
CSS3全新的背景图片方案 firefox支持指定一个元素的ID将它作为另一个元素的背景-moz-element(#ID), webkit系支持-webkit-canvas(xxxx)动态创建一个ca ...
- CSS3背景图片(多重背景、起始位置、裁剪、尺寸)
一.多重背景图片 ①CSS3允许我们在一个元素上添加多个图片 ②多重背景可以把多个图片资源添加到background属性上,用逗号隔开,然后用background-position把他们定位到你想要的 ...
随机推荐
- C# Ajax 手机发送短信验证码 校验验证码 菜鸟级别实现方法
1.Ajax请求处理页面: using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...
- sql获取时间时分秒
select datename(hour,getdate())+':'+datename(minute,getdate())+':'+datename(second,getdate())
- QA在网站建设中的作用
在网站建设项目中,有一个团队负责产品测试并识别产品中的缺陷是很有意义的.问题在于,不应该只依赖这个团队来发现所有的缺陷,就像航空公司不能只依靠空乘人员确保飞机安全一样.这个观点的核心是一个简单的事实, ...
- eclipse不能更改设置tomcat 中的ServerLocation问题
当自己用eclipse写好了web项目后,也同时配置了服务器(tomcat6), 上面部署完毕后,直接访问http://localhost:8080 发现是 无法访问的,这是因为,Servers这里的 ...
- WCF之Host宿主
Self_hosting自托管宿主. 过程:手动创建Host实例,把服务端点添加到Host实例上,把服务接口与Host关联. 一个Host只能指定一个服务类型,但是可以添加多个服务端点,也可以打开多个 ...
- Linux 内核同步机制
本文将就自己对内核同步机制的一些简要理解,做出一份自己的总结文档. Linux内部,为了提供对共享资源的互斥访问,提供了一系列的方法,下面简要的一一介绍. Technorati 标签: ...
- FIR滤波器(1)- 基础知识
FIR滤波器广泛应用于数字信号处理中,主要功能就是将不感兴趣的信号滤除,留下有用信号.FIR滤波器是全零点结构,系统永远稳定:并且具有线性相位的特征,在有效频率范围内所有信号相位上不失真.在无线通信收 ...
- VS2012中进行Web性能和负载测试
问题1:无法使用ie进行录制 解决方法: 工具 >> 管理加载项 >> 在工具栏和扩展中找到发布者为Microsoft Corporation的Microsoft Web Te ...
- JAVA多线程学习--生产者消费者问题
一.问题描述 生产者消费者问题是一个典型的线程同步问题.生产者生产商品放到容器中,容器有一定的容量(只能顺序放,先放后拿),消费者消费商品,当容器满了后,生产者等待,当容器为空时,消费者等待.当生产者 ...
- jquery如何通过name名称获取当前name的value值
本文为大家介绍下jquery通过name名称获取当前name的value值的具体实现,感兴趣的朋友可以参考下. 复制代码代码如下: $("*[name='name']").val( ...