【CSS颜色】

本文章属于学习笔记,在https://www.freecodecamp.org/chinese/learn/2022/responsive-web-design/中练习

三、CSS颜色

1、有两种主要的颜色模型:电子设备中使用的加性RGB(红、绿、蓝)模型和印刷品中使用的减色CMYK(青色、品红、黄色、黑色)模型。
使用RGB模型。这意味着颜色从黑色开始,随着不同层次的红、绿、蓝的引入而变化。一个简单的方法就是使用CSS rgb函数。

黑色rgb(0, 0, 0)
红色rgb(255,0,0)
绿色rgb(0,255,0)
蓝色0,0,255
白色255,255,255
黄色255,255,0
蓝绿色cyan 0,255,255
紫色255,0,255
橙色255,127,0

2、一个非常常见的方式来应用颜色的CSS元素是十六进制或十六进制值。虽然十六进制值听起来很复杂,但它们实际上只是RGB值的另一种形式。
十六进制颜色值以#字符开头,从0-9和a - f中选取6个字符。第一对字符代表红色,第二对代表绿色,第三对代表蓝色。例如,# 4 b5320
十六进制,或以16为基数的值,从0-9开始,然后是A-F:1, 2,3,4, 5, 6, 7, 8, 9, A,B,C,D,E,F
对于十六进制颜色,00是该颜色的0%,FF是100%。所以#00FF00转换成0%红,100%绿,0%蓝,和rgb(0,255,0)是一样的

3、HSL颜色模型,或色调、饱和度和明度,是另一种表示颜色的方式。
CSS hsl函数接受3个值:色调从0到360的数字,饱和度从0到100的百分比,以及亮度从0到100的百分比
如果想象一个色轮,色调红色为0度,绿色为120度,蓝色为240度。
饱和度是一种颜色的强度,从0%,或灰色,到100%的纯色。你必须在饱和度和亮度值上加上百分号%
明度是指一种颜色出现的亮度从0%(即完全黑色)到100%(即完全白色),其中50%为中性

蓝色:hsl(240,100%,50%)

4、可以在元素上使用颜色过渡或渐变
渐变是指一种颜色过渡到另一种颜色。CSS线性渐变函数允许您控制沿直线过渡的方向,以及使用哪些颜色。
线性梯度函数实际上创建了一个图像元素,并且通常与可以接受图像作为值的背景属性配对。
线性梯度函数非常灵活——以下是你在本教程中使用的基本语法:

linear-gradient(gradientDinection, color1, color2,…)

gradientDinection梯度方向是用于过渡的线的方向。color1和color2是颜色参数,它们是将在过渡本身中使用的颜色。这些可以是任何类型的颜色,包括颜色关键字,十六进制,rgb或hsl。

5、颜色停止允许你微调颜色沿着渐变线的位置。它们是像px或百分比这样的长度单位,在线性梯度函数中跟随颜色。
例如,在这个红黑梯度中,从红色到黑色的过渡发生在梯度线上的90%点,所以红色占据了大部分可用空间:linear-gradient(90deg,red90%,black);
不透明度描述了某物的不透明或不透明程度。例如,固体墙是不透明的,没有光线可以通过。但饮水杯的透明度要高得多,你可以透过玻璃看到另一边。
使用CSS不透明度属性,您可以控制元素的不透明或透明程度。当值为0或0%时,元素将完全透明,当值为1.0或100%时,元素将完全不透明,就像默认情况一样。
opacity:0.5;透明度

6、另一种设置元素不透明度的方法是使用alpha通道。与不透明度属性类似,alpha通道控制颜色的透明或不透明程度。
你已经用命名颜色和不透明度属性设置了袖的不透明度,但是你可以在其他CSS颜色属性中添加alpha通道。

7、为rgb颜色添加alpha通道,请使用rgba函数代替:
rgba函数的工作原理和rgb函数一样,但是对于alpha通道要多取一个从到1.0的数字:rgba(redValue, greenValue, blueValue, alphaValue);
您还可以使用hsl和十六进制颜色的alpha通道。

8、边框有几种样式可供选择。你可以让你的边界是实线,但你也可以使用虚线或虚线,如果你喜欢。实线边框可能是最常见的。border-left-style:solid[double];
边框现在应该是可见的。如果没有设置颜色,则默认使用黑色。为了让你的代码更易读,最好明确设置边框颜色。

9、border-left速记属性可以让你同时设置左边框的宽度、样式和颜色。
语法:border-left: width style color;

10、box-shadow属性允许你在一个元素周围应用一个或多个阴影。下面是基本语法:
box-shadow: offsetX offsetY;
下面是offsetX和offsetY值的工作原理:
1、offsetx和offsetY都接受px和其他CSS单位的数值
2、一个正的off setX值将阴影向右移动,一个负值将阴影向左移动
3、正offsetY值使阴影向下移动,负值使阴影向上移动
4、如果你想让offset和offset的值为0,你不需要添加一个单位。每个浏览器都明白,零表示没有变化
阴影的高度和宽度由它所应用的元素的高度和宽度决定。你也可以使用一个可选的spreadRadius值来扩展阴影的范围。

11、注意阴影的边缘是锐利的。这是因为box-shadow属性有一个可选的blurRadius值:box-shadow: offsetx offisety blumradius color;
如果不包含blurRadius值,则默认值为e,并产生尖锐的边缘。blurRad tus值越高,模糊效果越好。
想进一步扩大阴影可以使用可选的spreadRadius值:box-shadow: offsetX offsetY blurRadius spreadRadius color;
与blurRadius一样,如果不包含spreadRadius,则默认为0

styles.css
h1 {
  text-align: center;
}

.container {
  background-color: rgb(255, 255, 255);
  padding: 10px 0;
}

.marker {
  width: 200px;
  height: 25px;
  margin: 10px auto;
}

.cap {
  width: 60px;
  height: 25px;
}

.sleeve {
  width: 110px;
  height: 25px;
  background-color: rgba(255, 255, 255, 0.5);
  border-left: 10px double rgba(0, 0, 0, 0.75);
}

.cap, .sleeve {
  display: inline-block;
}

.red {
  background: linear-gradient(rgb(122, 74, 14), rgb(245, 62, 113), rgb(162, 27, 27));
  box-shadow: 0 0 20px 0 rgba(83, 14, 14, 0.8);
}

.green {
  background: linear-gradient(#55680D, #71F53E, #116C31);
  box-shadow: 0 0 20px 0 #3B7E20CC;
}

.blue {
  background: linear-gradient(hsl(186, 76%, 16%), hsl(223, 90%, 60%), hsl(240, 56%, 42%));
  box-shadow: 0 0 20px 0 blue;
}
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Colored Markers</title>
    <link rel="stylesheet" href="styles.css">
  </head>
  <body>
    <h1>CSS Color Markers</h1>
    <div class="container">
      <div class="marker red">
        <div class="cap"></div>
        <div class="sleeve"></div>
      </div>
      <div class="marker green">
        <div class="cap"></div>
        <div class="sleeve"></div>
      </div>
      <div class="marker blue">
        <div class="cap"></div>
        <div class="sleeve"></div>
      </div>
    </div>
  </body>
</html>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值