css颜色样式的获取和使用
1.获取颜色有三种设置方式:
第一种是颜色的英文单词,如red,blue等
第二种是用16进制设置,如#00FD42等
第三种是用rgb或rgba设置,如rgb(255,255,0)或rgba(55,41,201,0.5)
其中:
rgb分别对应的是red,green,blue,取值0~255
a是透明度样式,取值范围0~1(涉及到色光三原色)
没啥用的tip:可以利用调色原理获得想要的颜色
比如红色和绿色可以调出黄色,
所以黄色可以用rgb(255,255,0)表示
2.利用获取颜色的rgba方式可以实现一个盒子的遮罩效果:
鼠标移入前;图片被一个等宽高的半透明空盒子遮住;
鼠标移入后:改变其透明度,图片恢复明亮
需要用到的知识点有:
鼠标移入:hover,绝对定位position
代码如下:
img,div{
width: 400px;
height: 400px;
}
div{
position: absolute;
background-color: rgba(238,139,238,.5);
}
div:hover{
background-color: rgb(238,139,238)
transition: 3s;
}
输出效果:
鼠标移入前:
鼠标移入3s(透明度渐变):
3.利用获取颜色的16进制设置方式可以实现获取随机颜色的函数封装
需要用到的知识点有:
获取随机数random,数组方法:行尾添加push,for循环,进制转化的函数:tostring
思路:
定义一个字符串数组,在for循环中获得6个0~15的随机数字,将其转化为16进制后push添加到字符串中,最后获得颜色的格式
代码如下:
随机数的函数封装:
function getNum(min,max){
return Math.round(Math.random()*(max-min)+min);
}
随机颜色的函数封装::
function getColor(){
var arr=["#"];
var str=[];
for(var i=0;i<6;i++){
arr.push(getNum(0,15).toString(16));
}
str=arr.join('');
return str;
}