CSS3 HSL()详解:

这是CSS3新增的颜色表示模式。
在CSS2中,只有RGB(red、green和blue的缩写)和十六进制两种颜色模式。
为了能够支持颜色的透明度,CSS3新增了RGBA(A是Alpha缩写)。
但是无论是RGB、RGBA还是十六进制颜色值,都无法对颜色有一个直观的感受,毕竟大多数人都没有超凡的艺术细胞。
所以CSS3又新增了HSL颜色表示模式和与透明度相关的HSLA模式。
在介绍HSL颜色模式之前,先来对RGB和十六进制颜色值进行一下简单介绍:
一.RGB颜色模式:
RGB模式表示颜色是由red、green和blue三种颜色混合而成。
每一种颜色的最小值是0,最大值是255。
0表示没有对应的颜色,255表示纯色。
例如rgb(255,0,0)表示纯红色,rgb(0,255,0)纯绿色,rgb(0,0,255)纯蓝色,rgb(255,255,255)黑色。
二.十六进制颜色颜色模式:
十六进制颜色值简称HEX,颜色值前面带有#号,格式可以描述为如下:

#RRGGBB

每两位上的值就是RGB上的数字转换16进制后的值。
三.HSL颜色模式:
HSL就是色调(Hue)、饱和度(Saturation)和亮度(Lightness)的缩写。
通过三个颜色通道的叠加实现调节颜色的功能。
H:0(或360)表示红色,120表示绿色,240表示蓝色,也可取其他数值来指定颜色。取值为:0 - 360。
S:取值为:0.0% - 100.0%;0% 意味着灰色,而 100% 是全彩
L:取值为:0.0% - 100.0%;0% 是黑色,100% 是白色。

看一段代码实例,它演示了色调的分步规律:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<style>
section{
  position:relative;
}
div{
  width:1px;
  height:150px;
  float:left;
}
</style>
<script>
window.onload=function(){
  var container = document.querySelector(‘section‘);
  for (var index = 0; index < 360; index++) {
    var div = document.createElement(‘div‘);
    div.style.background = ‘hsl(‘ + index + ‘,100%, 50%)‘;
    container.appendChild(div);
  }
}
</script>
</head>
<body>
<section></section>
</body>
</html>

效果图:是不是红、橙、黄、绿、青、蓝、紫的分布规律非常清晰了。

下面是演示颜色饱和度的代码:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<style>
section{
  position:relative;
}
div{
  width:1px;
  height:150px;
  float:left;
}
</style>
<script>
window.onload=function(){
  var container = document.querySelector(‘section‘);
  for (var index = 0; index < 100; index++) {
    var div = document.createElement(‘div‘);
    div.style.background = ‘hsl(100,‘ + index + ‘%, 50%)‘;
    container.appendChild(div);
  }
}
</script>
</head>
<body>
<section></section>
</body>
</html>

效果图:饱和度从灰色到全彩的变化也是一目了然。

下面对于亮度的演示,代码如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<style>
section{
  position:relative;
}
div{
  width:1px;
  height:150px;
  float:left;
}
</style>
<script>
window.onload=function(){
  var container = document.querySelector(‘section‘);
  for (var index = 0; index < 100; index++) {
    var div = document.createElement(‘div‘);
    div.style.background = ‘hsl(100,100%, ‘ + index + ‘%)‘;
    container.appendChild(div);
  }
}
</script>
</head>
<body>
<section></section>
</body>
</html>

效果图:

下面再看一下HSLA的使用,这个就比较简单了,A就是设置透明度的,代码实例如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<style>
div {
  margin:10px;
  width:150px;
  height:50px;
  text-align:center;
  line-height:50px;
}
div:first-child {
  background-color: hsla(100,100%,54%,0.3)
}
div:last-child {
  background-color: hsl(100,100%,54%)
}
</style>
</head>
<body>
<div>蚂蚁部落</div>
<div>蚂蚁部落</div>
</body>
</html>

效果图:

时间: 2024-12-17 22:03:38

CSS3 HSL()详解:的相关文章

转:【译】CSS3:clip-path详解

我的一个学生,Heather Banks,想要实现他在Squarespace看到的一个效果: 根据她的以往经验,这个网站的HTML和CSS是完全在她的能力范围以内,于是我帮助她完成了这个效果.显示nav被裁减的效果是一个不简单的任务,我看到图片的第一反应是创建一个相匹配的背景被部分裁剪的图像,然后把它设置为一个after元素.问题是,至少要解决响应式问题,并且响应式并不完全可控的. 了解CSS属性:clip-path clip-path 是工作草案的一部分,它是一个通过屏蔽和裁减来隐藏元素的一部

css3圆角详解

css3(border-radius)边框圆角详解 传统的圆角生成方案,必须使用多张图片作为背景图案.CSS3的出现,使得我们再也不必浪费时间去制作这些图片了,只需要border-radius属性,支持浏览器IE 9.Opera 10.5.Safari 5.Chrome 4和Firefox 4 一.border-radius属性 CSS3圆角只需设置一个属性:border-radius(含义是"边框半径").你为这个属性提供一个值,就能同时设置四个圆角的半径.所有合法的CSS度量值都可

CSS3过渡详解-遁地龙卷风

0.环境准备 (1)过渡需要浏览器的支持,使用这些属性要加上浏览器厂商的前缀,我用的chrome49已经不需要前缀了, -o- Opera -webkit- Safari.Chrome -moz- Firefox -ms- IE (2) css p { height:15px;/*类似于高度这种属性,必须明确指定值*/ } p:hover/*初始p:hover*/ { height:100px; } (3)html文件body部分 <p></p> 1.快速使用 将下面属性加入初始p

css3动画详解

一.Keyframes介绍: Keyframes被称为关键帧,其类似于Flash中的关键帧.在CSS3中其主要以"@keyframes"开头,后面紧跟着是动画名称加上一对花括号"{-}",括号中就是一些不同时间段样式规则. @keyframes changecolor{ 0%{ background: red; } 100%{ background: green; }} 示例:创建一个动画名叫"changecolor",在"0%&quo

css3选择器详解

css中除了早先最早的,ID选择器,class选择器一些以外在css3中新加入了新的选择器,新选择器的使用大大的方便了我们的编程,下面我就说一些css3的选择器的使用方法, p       选择了所有<p>元素的标签; p{ background-color:yellow;}//所有p标签的背景色为黄色 div,p   这是选择了所有div和p元素标签: h1,p{ background-color:red;}//设置所有div中的h1和p的背景色为红色 div p   这个标签是选择div下

CSS3 border-image详解、应用及jQuery插件

by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=518 一.border-image的兼容性border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊人.可惜目前支持的浏览器有限,仅Firefox3.5,chrome浏览器,Safari3+支持border-image.所以,就本文而言,IE浏览器可以回家休息了,Firefox3及

[CSS3] 学习笔记-CSS3选择器详解(一)

1.属性选择器 在CSS3中,追加了3个属性选择器,分别为:[att*=val].[att^=val]和[att$=val],使得属性选择器有了通配符的概念. 1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 <style> 7 /*id包含div字符串,就加载效果*/ 8 [id*=div]

【CSS3】详解伪元素与伪类

1.伪类 伪类选择元素基于的是当前元素处于的状态,或者说元素当前所具有的特性,而不是元素的id.class.属性等静态的标志.由于状态是动态变化的,所以一个元素达到一个特定状态时,它可能得到一个伪类的样式:当状态改变时,它又会失去这个样式.由此可以看出,它的功能和class有些类似,但它是基于文档之外的抽象,所以叫伪类. 伪类的定义: (1)伪类存在的意义是为了通过选择器找到那些不存在与DOM树中的信息以及不能被常规CSS选择器获取到的信息. (2)伪类由一个冒号:开头,冒号后面是伪类的名称和包

css3渐变详解

今天总结渐变的问题,渐变分为线性渐变.径向渐变.呼呼,废话少说, 线性渐变:background:linear-gradient(设置渐变形式,第一个颜色起点,中间颜色点 中间颜色的位置,结束点颜色); Linear:渐变的类型(线性渐变): 渐变的形式:可选参数 有两种方式-1.设置旋转角度,0度代表水平从左到右,90度就是从上到下啦,从0度开始逆时针变换. 2.使用关键字,left代表从左到右,top代表从上到下,同理right就是从右到左,lefttop-从坐上到右下,同理leftbott