圖解css表示顏色的4種方式:顏色名稱、十六進位值、rgb和hsl函數

2020-12-15 青石野草

當我們在編寫css樣式規則的時候,很多情況下都是在指定顏色。比如,指定元素的背景色、字體的顏色、邊框的顏色和陰影的顏色等等。所以,我們需要一種表示方法來表示我們要使用哪一種顏色。

今天我們就來講解一下css中4種基本的表示顏色的方式,它們分別是:顏色的英文名稱十六進位顏色值rgb顏色函數hsl顏色函數

1. 顏色的英文名稱

css已經預定義好了一百多種常見顏色的英文名稱,我們可以直接使用它們。比如,red(紅色)、purple(紫色)、yellow(黃色)等等。而且這些名稱是不區分大小寫的,比如RED、rED、Red等都相當於red。

使用顏色名稱非常直觀明了,這是最簡單、最直接的顏色表示方式。但是自然界中的顏色有幾乎無窮種,因此絕大多數的顏色在css中都沒有對應的名稱。而且即使是在那些命了名的顏色中也有很多顏色的名稱是很難記住的,比如CornflowerBlue(矢車菊藍)、DarkOliveGreen(暗橄欖綠)等等。

圖1 部分顏色的英文名稱

2. 十六進位顏色值

十六進位顏色值形如#ff00cc這樣,它以井號(#)開頭且後面跟著6個十六進位的數字;它的含義建立在RGB顏色模式之下。

這些數字中的前兩位、中間兩位和後兩位分別代表紅色(Red)、綠色(Green)和藍色(Blue)三種基本色的成分值,而兩位十六進位數字正好能表示0~255的值。比如#ff00cc中,ff代表紅色成分值為255,00代表綠色的成分值為0,cc代表藍色的成分值為204。

對於大於或等於10的十六進位數字(a~f),即可以用大寫形式也可以用小寫形式,甚至大小寫混合都是可以的。比如,#FF00CC、#Ff00cC等也是正確的十六進位顏色值。不過,我們一般建議使用小寫形式。

如果十六進位顏色值中每組數字中的兩位都是相同的數字,那麼該十六進位值可以簡寫為3位的形式。比如,#ff00cc可以簡寫為#f0c。但要注意,如果任何一組數字中的兩位不同,那麼就不能簡寫。比如,#ff8c00就不能簡寫為#f8c0。

圖2展示了用十六進位表示的部分顏色,因為#ff00cc可以簡寫為#f0c,所以你可以看到第1個色塊和第3個色塊的顏色相同。但是#ff8c00就不能簡寫為#f8c0,因為即便它的第1組和第3組十六進位數中的兩個數字相同,但是中間那一組的兩個數字卻為8和c,是不相同的。如果你將某個顏色表示為#f8c0,那麼將產生css語法錯誤。

圖2 十六進位表示的部分顏色

3. rgb顏色函數

rgb顏色函數和十六進位顏色值原理是相同的,只是表示方式不一樣而已。rgb顏色函數其實包含兩個函數:rgb()和rgba()。它們的語法如下所示:

rgb(red, green, blue);

rgba(red, green, blue, alpha);

這兩個函數共同的參數red、green、blue分別代表的是RGB顏色模式中紅、綠、藍三種基本色的成分值。它們要麼全為整數形式要麼全為百分比形式,而不能是這兩種形式的混合,否則就是錯誤的css語法。當為整數時,3個參數的取值範圍都為0~255;當為百分比時,3個參數的取值範圍都為0%~100%,且即便是0%也要寫成帶百分號的形式而不能寫成0;其中100%在數值上等同於整數形式的255。

注意,當這3個參數為百分比形式的時候,一定要寫成帶百分號的形式,而不能寫成0~1之間的小數的形式。否則,這些參數會被當作是整數0或1。比如rgb(0.3, 0.3, 1.0)其實等同於rgb(0, 0, 1)而不是rgb(30%, 30%, 100%)。

rgba()函數名中最後的a代表透明(alpha通道)的意思,它的第4個參數alpha用於指定該顏色的透明程度。alpha參數的取值範圍為0~1之間的小數值,其中0為完全透明而1為完全不透明。rgb()函數因為不能指定透明度,所以它表示的顏色是完全不透明的。

圖3展示了用某些參數調用rgb顏色函數的結果,我們再次強調一下如果參數是百分比的形式,那麼就絕不能寫成是0~1之間的小數。它們所代表的含義是不相同的,這通過前兩個色塊的不同顏色就能看出來。後面3個顏色對比了對同一個顏色指定不同透明度的效果。

圖3 使用rgb顏色函數的效果

4. hsl顏色函數

hsl顏色函數建立在HSL顏色模式之下,它其實也包含兩個具體的函數:hsl()和hsla()。它們的語法如下所示:

hsl(hue, saturation, lightness);

hsla(hue, saturation, lightness, alpha);

這兩個函數共同的參數hue、saturation、lightness分別代表HSL顏色模式下的色相、飽和度、亮度三種屬性的值。其中hue必須是整數,取值範圍為0~360;saturation和lightness必須為百分比形式,取值範圍為0%~100%,且即便是0%也要寫成帶百分號的形式而不能寫成0。

注意,hsl顏色函數的第2個和第3個參數必須寫成百分比形式,而不能寫成是0~1之間的小數形式,就算是0也要寫成是0%。否則,就會導致css的語法錯誤。

其中hsla()函數中的alpha參數和rgba()函數中的alpha參數的意義是一樣的。取值範圍也是0~1之間的小數,其中0為完全透明而1為完全不透明。此外,hsl()函數表示的顏色也和rgb()函數一樣是完全不透明的。

注意,經過測試,rgba()和hsla()函數中的alpha參數既可以寫成0~1之間的小數形式也可以寫成百分比形式,這和其它參數的形式無關。我們建議alpha參數還是寫成小數形式較好,但其他人可能寫成百分比形式。

圖4展示了用某些參數調用hsl顏色函數的結果,其中後3個色塊表示的是不同透明度的同一顏色。

圖4 使用hsl顏色函數的效果

(完

相關焦點

  • 16進位顏色表示與RGB色彩模型——零基礎自學網頁製作
    這就是10進位!16進位的規律和10進位大同小異。不同的是,16進位到16才進1.假如我們有一個神奇的計數器,它的個位和下一個進位的數字顯示在()()兩個括號中。比如我們表示1的話就是(00)(01).
  • Matlab函數大全
    顏色操作 brighten :控制色圖明暗 caxis :色軸刻度 colorbar :畫色軸 colordef :設置默認的屬性值來顯示不同的顏色方案 hsv2rgb :飽和色彩色圖 HSV 向 rgb 轉換 rgbplot :繪製色 圖 graymon :為灰度顯示器設置默認的圖形窗口屬性 rgb2hsv
  • ps基礎知識:顏色混合與數字圖像,調色板小知識
    顏色面板中有RGB三個分量,當RGB三個值都為0時顏色為黑色,都為255則為白色。灰色顏色的值從0-255共256級,是2的八次方這也是八位圖像的由來,他們相互混合從理論上來講可以混合出256的三次方種顏色。
  • Excel的函數總結,小朋友們還不快點Collect起來!
    2、IF語句的多條件判定及返回值公式:IF(AND(單元格(邏輯運算符)數值,指定單元格=返回值1),返回值2,)說明:所有條件同時成立時用AND,任一個成立用OR函數。擴展資料:工程函數BESSELI返回經過修改的貝塞爾函數IN(X)BESSELJ 返回貝塞爾函數JN(X)BESSELK返回經過修改的貝塞爾函數KN(X)BESSELY返回貝塞爾函數YN(X)XLFCTBIN2DEC、BIN2DEC 將二進位數轉換為十進位數BIN2HEX 將二進位數轉換為十六進位數
  • 圖解NumPy:常用函數的內在機制
    arange 函數對類型很敏感:如果你以整型數作為參數輸入,它會生成整型數;如果你輸入浮點數(比如 arange(3.)),它會生成浮點數。但 arange 並不非常擅長處理浮點數:在我們眼裡,這個 0.1 看起來像是一個有限的十進位數,但計算機不這麼看。在二進位表示下,0.1 是一個無限分數,因此必須進行約分,也由此必然會產生誤差。
  • 保護眼睛的顏色設置 從這裡做起 - 房天下
    第一種:所有程序窗口的顏色設置電腦桌面空白處點擊滑鼠右鍵——>屬性——>外觀——>高級——>彈出的「高級外觀」對話框中,在「項目」中選擇「窗口」——>顏色——>其他——>將「顏色」對話框右邊「色調」由設置為75~85之間;將「飽和度」設置為90~120之間
  • CSS基礎—HTML元素邊框樣式
    邊框樣式可以讓HTML元素的四邊都有邊框,並可以設置邊框的樣式和顏色。邊框樣式主要有三個樣式標籤,分別是border-style(邊框線條類型)、border-width(邊框線條寬度)、border-color(邊框線條顏色)。
  • 一個在線css三角形生成器
    實現css三角形生成器因為這個工具的需求來自於前端, 所以肯定是要對css和js編程有一定的基礎, 比如css3的 1.css畫三角形的原理其實筆者在之前的文章中也分享過3種以上的使用css實現三角形的方案, 這裡筆者介紹一個通用的方法, 也就是用border來實現三角形, 我們先來看下面的圖示
  • 使用Swing製作進位轉化器
    進位轉化1.各進位之間的轉化在計算機科學中,常用的進位有二進位、八進位、十進位和十六進位。在開發過程中使用比較多的是二進位和十進位的。如果涉及一些字節編碼操作,十六進位也會用得到,甚至可能會用到三十二進位。1.1 十進位向其它進位轉化以正常的十進位數為標準,如果將一個十進位數轉化成二進位數。可以使用除法取餘的方式進行,在下圖中我們用二進位和八進位進行舉例:
  • 邏輯AND函數的切換表示和功能真值表
    打開APP 邏輯AND函數的切換表示和功能真值表 發表於 2019-06-23 09:50:04 邏輯與功能輸出僅在其所有輸入均為真時才為真
  • 標準顏色術語
    2.三刺激值 tristimulus values在三色系統中,與待測色刺激達到色匹配所需的三種參照色刺激的量。在XYZ表色系統中,採用[X],[Y],[Z]三刺激值。3.色度系統 colorimetric system根據規定的定義和符號表示顏色的系統,也稱為表色系統。
  • 通過css和js實現水流效果,附效果圖和原理解析
    效果圖實現的原理原理圖通過1 和2實現三角形(當然最終也可以製作成圓形或者其他形狀),水波的原理在於3,主要是通過動畫的transform:rotate()旋轉360deg和border-radius而生成。
  • 使用Python尋找圖像最常見的顏色
    接下來要找出這些圖像中最常見的顏色了。方法1-平均值第一種方法是最簡單的(但無效的),找到平均像素值。,我們可以很容易地得到行和寬度軸的平均像素值axis=(0,1)。方法2-最高像素頻率第二種方法要比第一種方法精確一些,我們只需計算每個像素值中出現的次數。幸運的是,numpy給了我們另一個函數,這個函數給出了精確的結果。但首先,我們必須重塑圖像數據結構,使其僅給出3個值的列表(每個R、G和B通道強度各一個)。
  • 塗料顏色管理的標準化
    眾所周知,漆膜的顏色是千變萬化的,採用簡單的習慣用語來區分顏色顯然是不妥的。另外,各塗料廠家所製備的同一名稱的色卡,彼此之間的顏色差別很大。為了改變上述的混亂局面,全國塗料和顏料標準化組織在20餘年前就起草了國家標準GB 1881—82《漆膜標準樣本》,在國內塗料行業中用51個標準色樣對漆膜的顏色進行規範(稱之為標準色卡)。
  • 強大的CSS原生樣式支持,不費吹灰之力就搞定註冊頁面
    實施步驟詳解首先,打開報表設計器,先拖動輸入框組件和按鈕組件,把需要製作的樣式排版好。其次,既然要高大上,那深沉高級的背景肯定不能少。我們選中編輯界面的表單組件,然後打開自定義樣式設置對話框:在這裡寫的css樣式就會自動適用於組件上啦!
  • 像素射擊怎麼改名字顏色 顏色代碼教學
    本次給大家帶來的是像素射擊的名字顏色更改方法,很多玩家都不清楚名字顏色的代碼怎麼改
  • 教你學習:Python-100-Days-05/06合集 函數
    >原項目day05是一些練習題,我這裡就忽略了,和day06合併,我們今天主要講解一個重要的內容函數。定義函數python中用def關鍵字來定義函數,def 註冊(參數):函數名稱後圓括號裡的叫做參數,相當於我吧我的個人信息手機號碼放到參數裡。
  • 玩轉RGB,隨心設置你的色彩——神牛LC500R實戰體驗
    前期做得好,後期少大半,拍攝時通過調節hsl控制好光比以及顏色佔比,我們在後期處理時便能得心應手。 不得不提,這個燈還有音樂模式,此模式下lc500r會跟隨音樂節奏變換顏色和亮度,在拍攝現場,隨著音樂響起,燈光變換,拍攝氣氛被炒熱了不少,激發出模特更好地表現力,攝影師也很快地進入了狀態