Home > Web Front-end > HTML Tutorial > Sass函数颜色函数RGB颜色函数_html/css_WEB-ITnose

Sass函数颜色函数RGB颜色函数_html/css_WEB-ITnose

WBOY
Release: 2016-06-24 11:32:56
Original
1361 people have browsed it

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

主要分为 RGB , HSL Opacity 三大函数,当然其还包括一些其他的颜色函数,比如说 adjust-color 和 change-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 20010 >> green(#c82858) //从#c82858颜色值中得到绿色值 4011 4012 >> blue(#c82858) //从#c82858颜色值中得到蓝色值 8813 8814 >> mix(#c82858,rgba(200,40,80,.65),.3) //把#c82858和rgba(200,40,88,.65) 两颜色按比例混合得到一个新颜色15 rgba(200, 40, 80, 0.65105)
    Copy after login

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

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

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

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

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

    1 //SCSS2 .rgba {3 color: rgba(#f36,.5);4 background: rgba(orange,.5);5 border-color: rgba(green,.5);6 }
    Copy after login

    语法:在括号是函数的参数,第一个参数是需要转换的颜色,他可以是任何颜色的表达方式,也可以是一个颜色变量;第二个参数颜色的透明度,其值是 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 }
    Copy after login

    调用前面定义的变量:

    1 //SCSS2 .rgba {3  color: rgba($color,.5);4  background: rgba($bgColor,.5);5  border-color: rgba($borderColor,.5);6 }
    Copy after login

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

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

    >> red(#f36)255
    Copy after login

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


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

    >> green(#f36)51
    Copy after login


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

    >> blue(#f36)102
    Copy after login

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

    mix($color-1,$color-2,$weight);
    Copy after login

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

    1 mix(#f00, #00f) => #7f007f2 mix(#f00, #00f, 25%) => #3f00bf3 mix(rgba(255, 0, 0, 0.5), #00f) => rgba(63, 0, 191, 0.75)
    Copy after login

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

     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 }
    Copy after login

    编译的 css 代码:

    1 //CSS2 .mix {3  background: #ee3366;4  color: #fefefe;5  border-color: #ed336 }
    Copy after login

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

     

    source:php.cn
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template