zoukankan      html  css  js  c++  java
  • Sass函数--颜色函数--RGB颜色函数

    RGB颜色函数-RGB()颜色函数

    主要分为 RGB , HSL Opacity 三大函数,当然其还包括一些其他的颜色函数,比如说 adjust-colorchange-color 等。
    1、RGB颜色函数
    RGB 颜色只是颜色中的一种表达式,其中 R 是 red 表示红色G 是 green 表示绿色 B 是 blue 表示蓝色。在 Sass 中为 RGB 颜色提供六种函数:

    • rgb($red,$green,$blue):根据红、绿、蓝三个值创建一个颜色;
    • rgba($red,$green,$blue,$alpha):根据红、绿、蓝和透明度值创建一个颜色;
    • red($color):从一个颜色中获取其中红色值;
    • green($color):从一个颜色中获取其中绿色值;
    • blue($color):从一个颜色中获取其中蓝色值;
    • mix($color-1,$color-2,[$weight]):把两种颜色混合在一起。
     1 sass -i
     2 //在命令终端开启这个命令,相当于开启 Sass 的函数计算。
     3 $ sass -i
     4 >> rgb(200,40,88) //根据r:200,g:40,b:88计算出一个十六进制颜色值
     5 #c82858
     6 >> rgba(#c82858,.65) //根据#c82858的65%透明度计算出一个rgba颜色值
     7 rgba(200, 40, 88, 0.65)
     8 >> red(#c82858) //从#c82858颜色值中得到红色值 200
     9 200
    10 >> green(#c82858) //从#c82858颜色值中得到绿色值 40
    11 40
    12 >> blue(#c82858) //从#c82858颜色值中得到蓝色值 88
    13 88
    14 >> mix(#c82858,rgba(200,40,80,.65),.3) //把#c82858和rgba(200,40,88,.65) 两颜色按比例混合得到一个新颜色
    15 rgba(200, 40, 80, 0.65105)

    2、rgba() 函数主要用来将一个颜色根据透明度转换成 rgba 颜色。
    语法有两种格式:

    rgba($red,$green,$blue,$alpha) //将一个rgba颜色转译出来,和未转译的值一样
    rgba($color,$alpha) //将一个Hex颜色转换成rgba颜色

    rgba($color,$alpha) 函数主要运用在这样的情形之中:假设在实际中知道的颜色值是 #f36 或者 red,但在使用中,需要给他们配上一个透明度,这个时候在原来的 CSS 中,首先需要通过制图工具,得到 #f36 或 red 颜色的 R、G、B 值,而不能直接使用(注意 css3 是可以的,但是存在浏览器兼容问题):

    1 $color: #f36;
    2 $bgColor: orange;
    3 $borderColor:green;

    同时给他们加上 .5透明度

    1 //SCSS
    2 .rgba {
    3 color: rgba(#f36,.5);
    4 background: rgba(orange,.5);
    5 border-color: rgba(green,.5);
    6 }

    语法:在括号是函数的参数,第一个参数是需要转换的颜色,他可以是任何颜色的表达方式,也可以是一个颜色变量;第二个参数颜色的透明度,其值是 0~1 之间。

    1 .rgba {
    2     color: rgba(255, 51, 102, 0.5);
    3     background: rgba(255, 165, 0, 0.5);
    4     border-color: rgba(0, 128, 0, 0.5);
    5 }

    调用前面定义的变量:

    1 //SCSS
    2 .rgba {
    3     color: rgba($color,.5);
    4     background: rgba($bgColor,.5);
    5     border-color: rgba($borderColor,.5);
    6 }

    将原色转换成另外一个颜色:

    3、Red() 函数
    red() 函数,其主要用来获取一个颜色当中的红色值。假设有一个 #f36 的颜色,如果你想得到 #f36 中的 red 值是多少,这个时候使用 red() 函数就能很简单获取。

    >> red(#f36)
    255

    得到的值是”255”。(注意:在命令终端要先输入sass -i 命令)


    4、Green() 函数
    green() 函数和 red() 函数一样,用来获取某一个颜色值中 green 的值。同样拿 ”#f36“ 颜色为例:

    >> green(#f36)
    51


    5、Blue() 函数
    同理,blue() 函数是用来获取某一个颜色值中 blue 的值,如:

    >> blue(#f36)
    102

    RGB颜色函数-Mix()函数
    Mix 函数是将两种颜色根据一定的比例混合在一起生成另一种颜色。其使用语法如下:

    mix($color-1,$color-2,$weight);

    $color-1 $color-2 指的是你需要合并的颜色,颜色可以是任何表达式,也可以是颜色变量。
    $weight 为合并的比例(选择权重),默认值为 50%,其取值范围是 0~1 之间。它是每个 RGB 的百分比来衡量,当然透明度也会有一定的权重。默认的比例是 50%,这意味着两个颜色各占一半,如果指定的比例是 25%,这意味着第一个颜色所占比例为 25%,第二个颜色所占比例为75%。

    1 mix(#f00, #00f) => #7f007f
    2 mix(#f00, #00f, 25%) => #3f00bf
    3 mix(rgba(255, 0, 0, 0.5), #00f) => rgba(63, 0, 191, 0.75)

    在前面的基础上,做一个修改:

     1 //SCSS
     2 $color1: #a63;
     3 $color2: #fff;
     4 $bgColor1: #f36;
     5 $bgColor2: #e36;
     6 $borderColor1:#c36;
     7 $borderColor2:#b36;
     8 .mix {
     9     background: mix($bgColor1,$bgColor2,.75);
    10     color: mix($color1,$color2,.25);
    11     border-color: mix($borderColor1,$bgColor2,.05);
    12 }

    编译的 css 代码:

    1 //CSS
    2 .mix {
    3     background: #ee3366;
    4     color: #fefefe;
    5     border-color: #ed33
    6 }

    这就是 Mix 函数的工作原理,在函数中指定三个函数前两个函数是你想混合的颜色(记住,你可以通过颜色变量、十六进制、RGBA、RGB、HSL 或者 HSLA 颜色值)。第三个参数是第一种颜色的比例值

  • 相关阅读:
    教你开发jQuery插件(转)
    PHP7CMS 无条件前台GETSHELL
    如何利用GitHub搜索敏感信息
    YOU种你来丨i春秋校园行第一站北京电子科技学院
    超有料丨小白如何成功逆袭为年薪30万的Web安全工程师
    SQL基本注入演示
    从SQL注入到内网漫游
    与你有关丨微信可能隐藏着这样的安全隐患
    业务逻辑漏洞探索之敏感信息泄露
    Web安全之XSS Platform搭建及使用实践
  • 原文地址:https://www.cnblogs.com/alice-shan/p/4990986.html
Copyright © 2011-2022 走看看