浅谈css中hsl()和hsla()设置颜色值的方法与应用
【摘要】 一、前言HSL 是CSS3引进的一种将 RGB 色彩模型中的点在坐标系中的表示法。这两种表示法试图做到比基于笛卡尔坐标系的几何结构 RGB 更加直观。 二、定义与用法hsl() 函数使用色相、饱和度、亮度来定义颜色。HSL 即色相、饱和度、亮度(英语:Hue, Saturation, Lightness)。色相(H)是色彩的基本属性,就是平常所说的颜色名称,如红色、黄色等。饱和度(S)是指...
一、前言
HSL
是CSS3
引进的一种将 RGB
色彩模型中的点在坐标系中的表示法。这两种表示法试图做到比基于笛卡尔坐标系的几何结构 RGB
更加直观。
二、定义与用法
hsl()
函数使用色相、饱和度、亮度来定义颜色。
HSL 即色相、饱和度、亮度(英语:Hue
, Saturation
, Lightness
)。
- 色相(
H
)是色彩的基本属性,就是平常所说的颜色名称,如红色、黄色等。 - 饱和度(
S
)是指色彩的纯度,越高色彩越纯,低则逐渐变灰,取值0-100%
。 - 亮度(
L
),取值0-100%
,增加亮度,颜色会向白色变化;减少亮度,颜色会向黑色变化。
三、CSS 语法
hsl(hue, saturation, lightness)
值 | 描述 |
---|---|
hue - 色相 |
定义色相 (0 到 360) - 0 (或 360) 为红色, 120 为绿色, 240 为蓝色 |
saturation - 饱和度 |
定义饱和度; 0% 为灰色, 100% 全色 |
lightness - 亮度 |
定义亮度 0% 为暗, 50% 为普通, 100% 为白 |
四、实例
定义 HSL 颜色:
#p1 {background-color:hsl(120,100%,50%);} /* 绿色 */
#p2 {background-color:hsl(120,100%,75%);} /* 浅绿 */
#p3 {background-color:hsl(120,100%,25%);} /* 暗绿 */
#p4 {background-color:hsl(120,60%,70%);} /* 柔和的绿色 */
五、浏览器支持
表格中的数字表示支持该函数的第一个浏览器版本号。
六、hsla()
css
中存在两种设置颜色值的方式:hsl()
和hsla()
,它们基本上都是采用了HSL
色彩模式的方法来设置颜色,接下来就来看看什么是HSLA色彩模式。
HSLA
是在HSL
的基础上增加了一个透明度(A
)的设置,取值0~1之间。
七、拓展阅读
八、延伸阅读 Javascript追加style样式
前言
在前端开发过程中,会遇到js
实现业务逻辑的时候代码式追加元素样式的应用场景。
思路
1、通过拼接cssText
方式实现。
2、通过设置class
,累加设置class
方式实现 。
代码示例
1、第一种方式可以应用下面函数实现,el
表示待追加样式的dom
节点,strCss
表示待追加的样式。
function setStyle(el, strCss){
function endsWith(str, suffix) {
var len = str.length - suffix.length;
return len >= 0 && str.indexOf(suffix, len) == l;
}
var sty = el.style,
cssText = sty.cssText;
if(!endsWith(cssText, ';')){
cssText += ';';
}
sty.cssText = cssText + strCss;
}
2、第二种方式把样式定义成class
,element
表示待追加样式的dom
节点,value
表示class
名称。
function addClass(element,value){
if(!element.className){
element.className=value;
} else {
newClassName=element.className;
newClassName+="";
newClassName+=value;
element.className=newClassName;
}
}
拓展阅读
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)