Sass 顏色函數

本節咱們來看一下 Sass 中的顏色函數,顏色函數能夠分爲三部分,分別是顏色設置、顏色獲取以及顏色操做。Sass 中的顏色函數有不少,下面咱們來看一些 Sass 中經常使用的顏色函數:css

函數 描述
rgb() 建立一個 Red-Green-Blue(RGB) 色
rgba() 建立一個帶有透明度值的顏色
hsl() 經過色相、飽和度和亮度的值建立一個顏色
hsla() 經過色相、飽和度、亮度和透明的值建立一個顏色
red() 從一個顏色中獲取其中紅色值
lightness 獲取一個顏色的亮度值(0% - 100%)
alpha 將顏色的 alpha 通道返回爲介於 0 和 1 之間的數字
opacity 獲取顏色透明度值(0-1)
mix() 把兩種顏色混合起來
fade-in() 下降顏色的透明度,取值在 0-1 之。
fade-out() 提高顏色的透明度,取值在 0-1 之間。

rgb()函數

rgb() 函數建立一個 Red-Green-Blue(RGB) 色,其中 R 表示紅色,G表示綠色,B表示藍色。RGB的取值範圍在 0 到 255 之間。函數

示例:

這個函數咱們應該比較熟悉了,在 CSS 中設置顏色值也會用到這個函數:code

.xkd{
    background: rgb(240, 236, 122);
    color: rgb(15, 88, 96);
}

編譯成 CSS 代碼:ci

.xkd {
  background: #f0ec7a;
  color: #0f5860;
}

須要注意的是 rgb() 函數中的參數值範圍在 0 到 255 以前,不能超過 255,不然會失效。scss

rbga()函數

rbga() 函數的使用和 rgb() 函數差很少,都是用於建立顏色,可是 rgba() 中多了一個 alpha,也就是顏色透明度。顏色透明度的取值範圍爲 0 到 1 之間的小數,例如 0.10.2 0.3 等, 值越小顏色越透明。it

示例:

例如咱們給一個黑色設置透明度爲 0.6:io

.xkd{
    background: rgba(0, 0, 0, 0.6);
    color: rgb(0, 0, 0);
}

編譯成 CSS 代碼:編譯

.xkd {
  background: rgba(0, 0, 0, 0.6);
  color: black;
}

你們能夠本身試一下,當設置不一樣的透明度值時,會有什麼效果。通常咱們在製做網頁時,會給一些背景顏色設置透明度。table

hsl()函數

hsl() 函數能夠經過色相(hue)、飽和度(saturation)和亮度(lightness)的值建立一個顏色。class

示例:
.xkd{
    color: hsl(100, 100%, 60%);
    a{
        color: hsl(255, 80%, 70%);
    }
}

編譯成 CSS 代碼:

.xkd {
  color: #77ff33;
}
.xkd a {
  color: #9475f0;
}

hsla()函數

hsla() 函數能夠經過色相(hue)、飽和度(saturation)、亮度(lightness)和透明(alpha)的值建立一個顏色。

示例:
.xkd{
    color: hsla(100, 100%, 60%, 0.8);
    a{
        color: hsla(255, 80%, 70%, 0.3);
    }
}

編譯成 CSS 代碼:

.xkd {
  color: rgba(119, 255, 51, 0.8);
}
.xkd a {
  color: rgba(148, 117, 240, 0.3);
}

red()函數

red() 函數用於從一個顏色中獲取其中紅色值,取值範圍爲 0 到 255。除了 red() 函數,還有 green() 函數和 blue() 函數。

示例:

例如獲取一個顏色中的紅色值、綠色值、藍色值:

.xkd{
    content: red(#fecefc);
    content: green(#fecefc);
    content: blue(#fecefc);
}

編譯成 CSS 代碼:

.xkd {
  content: 254;
  content: 206;
  content: 252;
}

上述代碼中,red() 函數用於從一個顏色中獲取紅色值,同理,green() 函數用於獲取綠色值,blue() 函數用於獲取藍色值。

咱們能夠試一下在 rgb() 函數中使用這三個獲取到的數值,看看建立的顏色是否同 #fecefc 同樣:

rgb(254, 206, 252)

lightness()函數

lightness() 函數獲取一個顏色的亮度值,取值範圍爲0% 到 100%。

示例:

例如獲取不一樣顏色值的亮度:

.xkd{
    content:lightness(#cccccc);
    content:lightness(#ff0000);
}

編譯成 CSS 代碼:

.xkd {
  content: 80%;
  content: 50%;
}

根據輸出結果能夠看出,#cccccc 顏色的亮度爲 80%#ff0000 的亮度爲 50%

alpha()函數

alpha() 函數將顏色的 alpha 通道返回爲介於 0 和 1 之間的數字。

示例:
.xkd{
    content:alpha(pink);
    content:alpha(rgba(125, 125, 125, 0.6));
}

編譯成 CSS 代碼:

.xkd {
  content: 1;
  content: 0.6;
}

opacity()函數

opacity() 函數用於獲取顏色透明度值,取值範圍在 0 到 1 之間。

示例:
.xkd{
    content:opacity(rgba(212, 234, 124, 0.1));
    content: opacity(red);
}

編譯成 CSS 代碼:

.xkd {
  content: 0.1;
  content: 1;
}

mix()函數

mix() 函數用於將兩種顏色混合起來,能夠組成一個新的顏色值。

示例:

例如咱們將藍色和綠色混合起來:

.xkd{
    content:mix(blue, green);
}

編譯成 CSS 代碼:

.xkd {
  content: #004080;
}

編譯後,組成了一個新的顏色 #004080

fade-in()函數

fade-in() 函數下降顏色的透明度,取值在 0 到 1 之間。

示例:
.xkd{
    content:fade-in(rgba(100, 100, 255, 0.7), 0.1);
}

編譯成 CSS 代碼:

.xkd {
  content: rgba(100, 100, 255, 0.8);
}

能夠看到,編譯後的代碼中,透明度由原來的 0.7 變爲了 0.8。由於值越小透明度越高,反之值越大,透明度越低。

fade-out()函數

fade-out() 函數提高顏色的透明度,取值在 0 到 1 之間。

示例:
.xkd{
    content:fade-out(rgba(100, 100, 255, 0.7), 0.1);
}

編譯成 CSS 代碼:

.xkd {
  content: rgba(100, 100, 255, 0.6);
}

上述代碼中,透明度由 0.7 提高到 0.6,值越小越透明。

相關文章
相關標籤/搜索