首页 > 其他分享 >第四篇 css - 基础 - 颜色

第四篇 css - 基础 - 颜色

时间:2023-03-28 14:59:20浏览次数:45  
标签:颜色 charAt color max hex RGB 第四篇 css

颜色基本概述

1、颜色

  颜色是指不能透过其他颜色的混合调配而得出的“基本色”,以不同比例将原色混合可以产生出其它的新颜色。
  
  由于人类肉眼有 三种 不同颜色的感光体,因此所见的色彩空间通常可以由 三种 基本色所表达,这三种颜色被称为“三原色”
  
  一般来说叠加型的三原色是 红色、绿色、蓝色
  
  又称三基色,用于电视机、投影仪等显示设备
  
2、色彩空间

  对色彩的组织方式,借助色彩空间和针对物理设备的测试,可以得到色彩的固定模拟和数字表示
  
  例如 Adobe RGB 和 sRGB
  
3、色彩模型  

   是一种抽象数学模型,通过一组数字来描述颜色
   
   例如 RGB 使用 三元组

CSS 中颜色的表示和转换

颜色词
color: red;   // 红色
color: green; // 绿色
color: blue;  // 蓝色
RGB
color: rgb(255, 0, 0, 1);  // 红色
color: rgb(0, 255, 0, 1);  // 绿色
color: rgb(0, 0, 255, 1);  // 蓝色

RGB 是以一组十进制数值表示颜色,结构为 rgb(R, G, B, A)

   其中 A 表示透明度
   
   RGB 色彩模型的创建方式是将 红色、绿色、蓝色 映射到 三维笛卡尔 坐标系中
HEX
color: #FF0000; // 红色
color: #00FF00; // 绿色
color: #0000FF; // 蓝色

HEX 是以一组十六进制数值表示颜色,结构为 #RRGGBB[AA] 或 #RGB[A]

  其中 A 表示透明度
  
  下面这个等式可以成立
  
  color: #FF0000;
   // 等价于
  color: #F00;
   // 等价于
  color: #F00F;
HSL
color: hsl(0, 1000%, 50%);   // 红色
color: hsl(120, 100%, 50%); // 绿色
color: hsl(240, 100%, 50%);   // 蓝色

HSL 的结构为 hsl(H,S,L,A) 其中 A 表示透明度

是一种将 RGB 色彩模型中的点在圆柱坐标系中的表示方式

这种色彩模型能够做到比基于笛卡尔坐标系的几何结构更加直观

1、色相(Hue):取值 0~360,指色彩的基本属性,0(或360)表示红色,120 表示绿色,240表示蓝色。

2、饱和度(Saturation):取值 0~100%,指色彩的纯度,越高色彩越纯,低则逐渐变灰。

3、明度(Lightness):取值 0~100%。
RGB 转 HEX 算法
function rgbToHex(r, g, b, allow3Char) {
  var hex = [
    pad2(mathRound(r).toString(16)),
    pad2(mathRound(g).toString(16)),
    pad2(mathRound(b).toString(16))
  ];

  // Return a 3 character hex if possible
  if (allow3Char &&
    hex[0].charAt(0) == hex[0].charAt(1) &&
    hex[1].charAt(0) == hex[1].charAt(1) &&
    hex[2].charAt(0) == hex[2].charAt(1)
  ) {
    return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);
  }
  return hex.join("");
}
RGB 转 HSL 算法
function rgbToHsl(r, g, b) {
  r = bound01(r, 255);
  g = bound01(g, 255);
  b = bound01(b, 255);
  var max = mathMax(r, g, b), min = mathMin(r, g, b);
  var h, s, l = (max + min) / 2;
  if (max == min) {
    h = s = 0; // achromatic
  }
  else {
    var d = max - min;
    s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
    switch (max) {
      case r: h = (g - b) / d + (g < b ? 6 : 0); break;
      case g: h = (b - r) / d + 2; break;
      case b: h = (r - g) / d + 4; break;
    }

    h /= 6;
  }
  return { h: h, s: s, l: l };
}

标签:颜色,charAt,color,max,hex,RGB,第四篇,css
From: https://www.cnblogs.com/caix-1987/p/17265110.html

相关文章

  • 第六篇 css - 样式 - 【 字体样式 + 文本样式 】
    字体样式1、color2、font-size3、font-family4、font-style5、font-weight字体样式解析1、font-family该属性用于设置字体1、网页中常用的字体有......
  • 第五篇 css - 单位值
    css单位css单位主要分为1、相对单位2、绝对单位相对单位相对单位,是相对于当前元素的字号font-size或者视口viewport尺寸。1、em:1em与当前元素......
  • 第四篇 html5 - 新特性【 Dom操作类 + 自定义标签属性 】
    html5新增Dom操作类1、classList当前元素的所有样式列表2、add()添加类3、remove()删除类4、toggle()有就移出,没有就添加5、contains()是否包含某个类,包......
  • 伪元素和CSS类
    伪元素可以结合CSS类: p.article:first-letter{color:#ff0000;}<pclass="article">文章段落</p>https://www.lekaowang.com/cjhjs/zx/ksdg/上面的例子会使所有class......
  • CSS - :before 伪元素
     ":before"伪元素可以在元素的内容前面插入新内容。下面的例子在每个<h1>元素前面插入一幅图片:实例h1:before{content:url(smiley.gif);}https://www.lekao......
  • 几段纯 CSS 代码实现的 漂亮边框效果
    半透明边框border:10pxsolidhsla(0,0%,100%,.5);background-clip:padding-box;缝边效果outline:1pxwhitedashed;outline-offset:-10px;border......
  • linux shell基础--终端显示字体背景和字体颜色\033[0;30m
    ANSI标准ANSI标准规定了一种所有终端共享的指令集,并要求用ASCII的数字字符传递所有数值信息,用于控制linux终端上的光标位置、颜色和其他选项。在文本中嵌入确定的字节序列......
  • CSS之伪类选择器,属性选择器
    一.结构伪类选择器伪类选择器一般的格式是使用冒号来表示  :一般其它的伪类选择器很少使用,但是a标签的个性化都是使用的伪类选择器来个性化,所以对于a标签的个性化需要......
  • CSS 圆角输入框
    ff,chrome,safari下面可以用圆角边框来实现,IE下面还是用背景比较好 Java代码  input{height:18px;inline-height:18p......
  • CSS3 Media Query 响应式媒体查询
    在CSS中,有一个极其实用的功能:@media响应式布局。具体来说,就是可以根据客户端的介质和屏幕大小,提供不同的样式表或者只展示样式表中的一部分。通过响应式布局,可以达到只使用......