网页是色彩的表现原理:显示器是由一个个像素构成,利用电子束来表现色彩。像素把光的三原色:红色(R)、绿色(G)、蓝色(B)组合成的色彩按照科学原理表现出来。一个像素包含8位元色彩的信息量,又从0 ~ 255的256个单元,其中0是完全无光状态,255是最亮状态

Web页面的安全色
不同平台(Mac、PC等)有不同的调色板,不同的浏览器也有自己的调色板。选择特定的颜色时,浏览器会尽量使用本身所用的调色板中最接近的颜色,如果浏览器中没有所选颜色,就会通过抖动或者混合自身的颜色来尝试重新产生该颜色
Web页面的安全色是当红色(R)、绿色(G)和蓝色(B)颜色数字信号值为0、51、102、153、204和255构成的颜色组合,它一共有6x6x6=216种颜色(其中彩色为210种,非彩色为6种)。而216种特定的颜色就可以安全应用于所有Web中,而不需要担心颜色在不同的硬件环境、操作系统、浏览器之间的变化

216种Web页面的安全色在需要实现高精度的渐变效果或显示真彩图像或照片时会略显不足,但在显示徽标或者二维平面效果图时却绰绰有余。不过,也不用可以的用安全色,而是安全非安全互相搭配得当,才不会出现偏色

色彩模式说明:
(1)RGB色彩模式:是光的三原色红、绿、蓝混合产生的。Web页面中使用的图片大多数是RGB色彩模式,RGB色彩是颜色相加混合产生的,这样的混合称为加色混合。加色混合中,补色是指相关的两个颜色混合时,成为白色的情况
(2)CMYK色彩模式:是颜料的三原色青色、洋红、黄色和黑色,主要用于印刷时制作图像的一种模式,减色混合是指颜色混合后出现的色彩比原来的颜色暗淡,这样与补色相关的两种颜色混合就会出现彩色的情况
(3)索引色彩模式:已经被限定在256中颜色以内的模式,主要用于Web页面安全色彩和制作透明GIF图片。
(4)灰度模式:是无色模式,在制作黑白图片时使用,主要用于处理黑、白、灰色图片
(5)双色调模式:是在黑白图片中加入颜色,使色调更加丰富的模式。RGB、CMYK等颜色模式都不可以直接转换为双色调模式,必须将色彩模式先转换为灰度模式后,才能够转换成双色调模式。用双色调模式可以用很小的空间制作出漂亮的图片
(6)位图模式:是用白色和黑色共同处理图片的模式。与双色调一样,除双色调模式和灰度模式外,其他色彩模式都需要转换为灰度模式后,在转换为位图模式

CSS透明属性:opacity,用来设置元素的透明度
语法及参数:opacity:alphavalue || inherit
alphavalue:默认值为1,可以取0 ~ 1任意浮点数。其中取值为1时,元素完全是不透明的;反之,取值为0时,元素完全透明不可见。其值不可以是负值
inhert:表示继承父元素的opacity设置的值,即继承父元素的不透明度
alpha通道和opacity属性的区别:alpha可以单独设定透明度,但是opacity只能给整体设置,并且直接回继承给后代元素;不透明度还可以用transparent相当于alpha通道值设置为0,在CSS3中可以在任意颜色属性中使用transparent。

注:IE8以下不支持opacity透明属性,但可以使用其专有滤镜来实现透明效果
/*IE5 - 7*/
filter:alpha(opacity=透明值);
/*IE8*/
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=透明值)";
此处的透明值并不是0~1之间的浮点数,而是0~100之间的任意整数

为了兼容IE8以下版本的浏览器,opacity透明属性在实际中常常如下使用
/*IE5-7*/
filter:alpha(opacity=80);
/*IE8*/
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
opacity:0.8;

CSS3颜色模式:RGBA、HSL和HSLA
RGBA语法及参数:rgba(r,g,b,a)
R:红色值,其取值可以是正整数或百分值,取值范围为0~255或0~100%;
G:绿色值,其取值可以是正整数或百分值,取值范围为0~255或0~100%;
B:蓝色值,其取值可以是正整数或百分值,取值范围为0~255或0~100%;
A:alpha透明值,其取值在0~1范围之间,取值范围为0~1;
超出范围的数值将截止其最接近的取值极限,都不可以去负值
浏览器兼容性

HSL颜色模式
HSL和RGB一样,同属于工业界的一种颜色标准,通过对色调(H)、饱和度(S)、亮度(L)三个颜色通道的变化以及它们互相之间的叠加得到各式各样的颜色。HSL标准几乎包括人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。
只用三种通道按照不同的比例混合,在屏幕上呈现16777216中颜色
语法及参数:值与值之间用逗号隔开
hsl(h,s,l)
三个属性值,分别是h(<length>)值、s(<percentage>)值和l(<percentage>)值,说明:
H:色调(Hue)。取整数值(<length>),可以为任意整数,其中0(或360或-360)表示红色,60表示黄色,120表示绿色,180表示青色,240表示蓝色,300表示洋红。当它们的值大于360时,实际的值等于改值除360之后的余数。例如,如果色调的值是480,则实际的颜色值为480除以360之后得到的余数120
S:饱和度(Saturation)。就是颜色的深浅度和鲜艳程序,取百分数(<percentage>),可以取值0~100%之间的任意值,其中0表示灰度(没有该颜色),100%表示饱和度最高(该颜色最鲜艳)
L:亮度(Lightness)。取值和饱和度(S)一样,可以取值0~100%之间的任意值,其中0最暗(黑色),100%最亮(白色)

浏览器兼容性

注:除了IE8及其以下版本浏览器之外,其它主流浏览器对HSL色彩模式的支持都比较友好,无需借助个浏览器的私有前缀来实现兼容

HSLA颜色模式
是HSL的扩展模式,在其基础上增加一个透明通道alpha来设置不透明参数
语法及参数:hsla(<length>,<percentage>,<percentage>,<opacity>)
opacity,其取值范围是0~1之间,值越大,透明度越低
浏览器兼容性

RGBA和HSLA颜色模式之间的选择
使用RGB/RGBA颜色值,很难一眼识别出代表的颜色,很难再红、绿、蓝三个数值中识别出这个颜色的饱和度、亮度是什么。RGB/RGBA颜色模式的另一个问题是,对一个颜色进行调整,就不得不去修改它们的每一项参数
使用HSL/HSLA颜色模式获取一个颜色,没有必要像RGB/RGBA颜色模式一样同时调整三种颜色,只需要将色调值设置为一个特定值。根据色盘就可以了解到颜色具体信息;变亮和变暗直接改变亮度值(L)就可以了
两者除了使用方法不同,其他都一样,一个RGB/RGBA颜色完全可以使用HSL/HSLA来替代
第一种,RGBA/HSLA的IE兼容方案一般在前面先设置一个不具备透明色的颜色(RGB/HSL),后面紧跟RGBA/HSLA;不支持的直接显示前面的颜色,支持的显示后面的带有透明度的颜色
第二种,使用PNG透明图片,这样会增加HTTP请求,不建议使用
第三种,使用Gradient滤镜可以指定半透明的颜色。将起止色设置为同一种颜色即可避免产生渐变
Gradient滤镜为:-ms-filter:filter:progid:DXImageTransform.Microsoft.gradient(enabled='true',startColorstr='#99A6DADC',endColorstr='#99A6DADC');

CSS3颜色特征温故的更多相关文章

  1. css3 颜色记

    css3 颜色 opacity 使元素呈现出半透明效果. opacity:alphavalue || inherit alphavalue:默认值为1,可以取0~1任意浮点数.取值为1时,元素完全不透 ...

  2. CSS3盒模型温故

    CSS有一种基础设计模式叫盒模型,定义了Web页面中的元素是如何看做盒子来解析的.每一个盒子有不同的展示界面,下面就来介绍盒模型,主要有一下几种盒模型:inline.inline-block.bloc ...

  3. 熟悉css/css3颜色属性

    颜色属性无处不在.字体要用颜色,背景可以有颜色,粒子特效更是离不开颜色.本文参考了一些资料简单总结下以备日后查阅. css中颜色的定义方式: 十六进制色 RGB & RGBA HSL & ...

  4. CSS3 颜色属性

    关键字颜色 red 十六进制颜色 #FF0000 RGB颜色   rgb(255,0,0) 新增的颜色表示方法 RGBa: RGB代表光的三原色,Red.Green和Blue CSS3中可以增加一个值 ...

  5. CSS3颜色渐变模式

       1.线性渐变:linear-gradient 语法:<linear-gradient> = linear-gradient([ [ <angle> | to <si ...

  6. css3 -- 颜色与不透明度

    1.opacity: opacity的值会被它的所有子元素继承,也就是说不可能让一个元素比他的父元素更加不透明,但你可以让他变得更透明点 Firefox  Webkit  Opera支持,注意IE 2 ...

  7. CSS3 颜色模式

    HSL .test{background-color:hsl(<length>, <percentage>, <percentage>);} 1.length 表示 ...

  8. CSS3颜色渐变模式总结

    1.线性渐变:linear-gradient 语法:= linear-gradient([ [ | to [, ]+) = [left | right] || [top | bottom] = [ | ...

  9. CSS3 颜色渐变、阴影、渐变的阴影

    css阴影: 外阴影:box-shadow:X Y Npx #color; 内阴影:box-shadow:inset X Y Npx #color; 文字阴影:text-shadow:X Y Npx ...

随机推荐

  1. 一键配置本地yum源

    在使用RedHat系统过程中,经常会安装各种包,而包的安装又存在着依赖性的问题,即一个包的安装通常依赖其它很多包的安装.这样,就会相当不便.所幸,RedHat提供了Yum.Yum(全称为 Yellow ...

  2. 献给所有从事IT行业拥有梦想的英语渣们

    本文适合读者:从小到大英语都不好,如今选择IT行业需要重拾英语追寻梦想的人,英语大神们请绕行.. 目录 一.背景介绍 二.明确学习目标 2.1 英文文法 2.2 词汇量 三.题外话 3.1 关于本文 ...

  3. Docker - Docker基础命令及使用

    Docker Docker - 官网 Docker - Hub GitHub - Docker Docker中文社区 Docker基础命令 Docker 查看帮助信息:docker --help 查看 ...

  4. js每天进步一点点3

    JS之样式的改变

  5. SQL Server在执行SQL语句时,表之间驱动顺序对性能的影响

    环境:SQL Server2012 SP3 企业版,开发服务器,并没有什么负载,全库索引统一Rebuild过 经反复执行验证过, 不算太复杂的SQL(存储过程中代入参数抠出来的SQL代码) 默认情况下 ...

  6. HTML5版的String Avoider小游戏

    HTML5版的String Avoider小游戏 http://www.newgrounds.com/portal/view/300760 蛮简单也蛮考验耐心,从游戏起始点移动鼠标到终点位置,鼠标移动 ...

  7. SQL Server数字辅助表的实现

        数字辅助表是一个连续整数的数列,通常用来实现多种不同的查询任务.大多分两类:足够大物理数字表和表函数,前者可以称为静态的,后者可以称为动态且按需生产. 物理数字表     物理数字表通常存在一 ...

  8. 【转】 依赖注入框架Autofac的简单使用

    Autofac是一款IOC框架,比较于其他的IOC框架,如Spring.NET,Unity,Castle等等所包含的,它很轻量级性能上也是很高的.于是,今天抽空研究了下它.下载地址:http://co ...

  9. C#:基于WMI查询USB设备信息 及 Android设备厂商VID列表

    /* ---------------------------------------------------------- 文件名称:WMIUsbQuery.cs 作者:秦建辉 MSN:splashc ...

  10. 基于MVC4+EasyUI的Web开发框架经验总结(7)--实现省份、城市、行政区三者联动

    为了提高客户体验和进行一些技术探索,现在正准备把我自己的客户关系管理系统CRM在做一个Web的版本,因此对基于MVC的Web界面继续进行一些研究和优化,力求在功能和界面上保持和Winform一致,本文 ...