CSS3中线性颜色渐变的一些实现方法


Posted in HTML / CSS onJuly 14, 2015

为了显示一个渐变而专门制作一个图片的做法是不灵活的,而且很快会成为一种不好的做法。但是遗憾的是,截至写这篇文章,可能还必须这样做,但是希望不会持续太久。多亏Firefox 和Safari/Chrome,我们现在可以使用最少的努力实现强大的渐变。在本文中,我们将展示CSS渐变的简单实现以及该属性在Mozilla和webkit内核浏览器中的不同。

Webkit

尽管Mozilla和Webkit通常对CSS3属性采取同样的语法,但是对于渐变,他们很不幸的不能达成一致。Webkit是第一个支持渐变的浏览器内核,它使用下面的结构:

CSS Code复制内容到剪贴板
  1. /* 语法,参考自: http://webkit.org/blog/175/introducing-css-gradients/ */  
  2. -webkit-gradient(<type>, <point> [, <radius>]?, <point> [, <radius>]? [, <stop>]*)   
  3. /* 实际用法... */  
  4. background: -webkit-gradient(linear, 0 0, 0 100%, from(red), to(blue));    

CSS3中线性颜色渐变的一些实现方法

不要担心这些语法会让你看花眼,我也是这样的!只要记得我们需要用一个逗号来隔开这个参数组。

    渐变的类型? (linear)
    渐变开始的X Y 轴坐标(0 0 – 或者left-top)
    渐变结束的X Y 轴坐标(0 100% 或者left-bottom)
    开始的颜色? (from(red))
    结束的颜色? (to(blue))

Mozilla

Firefox,从3.6版本才开始支持渐变,更喜欢和Webkit略微不同的语法。

CSS Code复制内容到剪贴板
  1. /* 语法,参考自: http://hacks.mozilla.org/2009/11/css-gradients-firefox-36/ */    
  2. -moz-linear-gradient( [ <point> || <angle>,]? <stop>, <stop> [, <stop>]* )    
  3. /* 实际用法*/    
  4. background: -moz-linear-gradient(topredblue);    

CSS3中线性颜色渐变的一些实现方法

    请注意我们将渐变的类型——linear——放到了属性前缀中了
    渐变从哪里开始? (top – 我们也可以使用度数,比如-45deg)
    开始的颜色? (red)
    结束的颜色? (blue)

Color-Stops

如果你不需要从一个颜色到另一个颜色的100%渐变怎么办?这就是color stop起作用的时候了。一个普遍的设计技术是使用一个较短而细微的渐变,比如:
CSS3中线性颜色渐变的一些实现方法

注意顶部的浅灰色到白色的细小的渐变

在过去,标准的做法就是制作一个图片,并将其设为一个元素的背景图片,然后让其水平平铺。然而使用CSS3,这是个小Case。

CSS Code复制内容到剪贴板
  1. backgroundwhite/* 为较旧的或者不支持的浏览器设置备用属性 */     
  2. background: -moz-linear-gradient(top#dededewhite 8%);     
  3. background: -webkit-gradient(linear, 0 0, 0 8%, from(#dedede), to(white)); border-top1px solid white;    

这次,我们让渐变结束于8%,而不是默认的100%。请注意我们也在头部采用了一个边框,以形成对比。这很常用。

如果我们想要添加多一种(几种)颜色,我们可以这样做:

CSS Code复制内容到剪贴板
  1. backgroundwhite/* 备用属性 */ background: -moz-linear-gradient(top#dededewhite 8%, red 20%); background: -webkit-gradient(linear, 0 0, 0 100%, from(#dedede), color-stop(8%, white), color-stop(20%, red);    

    对于-moz 版本,我们定义,从元素的20%的高度的地方开始是红色。
    而对于-webkit,我们使用color-stop,采用两个参数:哪里开始停止,使用哪种颜色。

HTML / CSS 相关文章推荐
CSS3 Media Queries详细介绍和使用实例
May 08 HTML / CSS
一款CSS3实现多功能下拉菜单(带分享按)的教程
Nov 05 HTML / CSS
基于CSS3实现图片模糊过滤效果
Nov 19 HTML / CSS
CSS3实现伪类hover离开时平滑过渡效果示例
Aug 10 HTML / CSS
HTML5拖放功能_动力节点Java学院整理
Jul 13 HTML / CSS
Html5页面在微信端的分享的实现方法
Aug 30 HTML / CSS
前端canvas动画如何转成mp4视频的方法
Jun 17 HTML / CSS
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
Jan 09 HTML / CSS
基于HTML5 的人脸识别活体认证的实现方法
Jun 22 HTML / CSS
浅谈HTML5 Web Worker的使用
Jan 05 HTML / CSS
HTML5在微信内置浏览器下右上角菜单的调整字体导致页面显示错乱的问题
Jan 19 HTML / CSS
CSS 圆形进度栏
Apr 06 HTML / CSS
CSS3中HSL和HSLA的简单使用示例
Jul 14 #HTML / CSS
用CSS3实现背景渐变的方法
Jul 14 #HTML / CSS
使用CSS3制作响应式导航菜单的方法
Jul 12 #HTML / CSS
使用CSS3来制作消息提醒框
Jul 12 #HTML / CSS
使用CSS3创建动态菜单效果
Jul 10 #HTML / CSS
简单介绍CSS3中Media Query的使用
Jul 07 #HTML / CSS
CSS中垂直居中的简单实现方法
Jul 06 #HTML / CSS
You might like
php实现cc攻击防御和防止快速刷新页面示例
2014/02/13 PHP
php将session放入memcached的设置方法
2014/02/14 PHP
php无限遍历文件夹示例分享
2014/03/04 PHP
php中file_exists函数使用详解
2015/05/08 PHP
php实现smarty模板无限极分类的方法
2015/12/07 PHP
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
JQuery中each()的使用方法说明
2010/08/19 Javascript
JS关闭窗口与JS关闭页面的几种方法小结
2013/12/17 Javascript
jquery基础教程之数组使用详解
2014/03/10 Javascript
JQuery each()嵌套使用小结
2014/04/18 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
2014/05/13 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
JavaScript基于ajax编辑信息用法实例
2015/07/15 Javascript
完全深入学习Bootstrap表单
2016/11/28 Javascript
微信小程序 图片绝对定位(背景图片)
2017/04/05 Javascript
JavaScript数据结构中串的表示与应用实例
2017/04/12 Javascript
jquery鼠标悬停导航下划线滑出效果
2017/09/29 jQuery
详解微信小程序胶囊按钮返回|首页自定义导航栏功能
2019/06/14 Javascript
js回溯法计算最佳旅行线路代码实例
2019/09/11 Javascript
原生js实现日历效果
2020/03/02 Javascript
[01:10:24]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第一场 2月28日
2021/03/11 DOTA
用Python实现命令行闹钟脚本实例
2016/09/05 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
Django 自定义权限管理系统详解(通过中间件认证)
2020/03/11 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
css3 中的新特性加强记忆详解
2016/04/16 HTML / CSS
UGG美国官网:购买UGG雪地靴、拖鞋和鞋子
2017/12/31 全球购物
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
Linux常见面试题
2013/03/18 面试题
元旦晚会邀请函
2014/01/27 职场文书
八一演出活动方案
2014/02/03 职场文书
年级组长自我鉴定
2014/02/22 职场文书
爱岗敬业演讲稿
2014/05/05 职场文书
联谊活动总结
2014/08/28 职场文书
2015教师个人工作总结范文
2015/03/31 职场文书
庆七一主持词
2015/06/29 职场文书