iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 8
7
Modern Web

金魚都能懂的CSS必學屬性系列 第 8

Color - 金魚都能懂的CSS必學屬性

  • 分享至 

  • xImage
  •  

Color 的規則

color基本上僅需指定一個值,其撰寫方式像是這樣

color: red;

color的作用是設定文字的色彩,其中設定的值有多種方式,其中可以設定的值有

  • 16進位碼的色彩表示(Hex)
  • RGB色彩表示法
  • RGBA色彩表示法
  • HSL色彩表示法
  • HSLA色彩表示法
  • 色彩關鍵字

其中「16進位碼色彩表示法、RGB色彩表示法、HSL色彩表示法」各位可以至我之前寫的RGB、HSL、Hex 網頁色彩碼,看完這篇全懂了文章中看看,裡面有非常詳盡的介紹,而「RGBA」以及「HSLA」則是在RGB色彩表示法後面增加一個不透明度的alpha值設定,同樣不是很難理解。

透明度 vs 不透明度

alpha,經常都會聽到使用「透明度」來稱呼它,但其實「不透明度」反倒更適合它,alpha值採用0~1之間的數字來表示,並可使用小數點,1表示100%的不透透明度,0表示0%的不透明度,所以0.5會比0.3來的更「不透」明,但倘若使用大家較常稱呼的透明度的話,會像這樣「0.6的透明度表示60%的透明,0.3表示30%的透明」,但實際觀察後卻會發現,根本不對啊!!!所以「不透明度」會是較正確一點的稱呼。

16進位碼色彩表示法能不能設定透明?

在以往要設定色彩的不透明度,大都會利用CSS opacity這種偏門作法,後來有了RGBA與HSLA的寫法之後,大量的都改用這樣的寫法了,但原始碼變長許多,若能夠跟16進位碼一樣簡短不是很棒嗎?事實上的確可以囉~~~(大心)!16進位碼的色彩順序是RGB,像這樣#RRGGBB,倘若加上不透明度的話就是#RRGGBBAA,是的!就是把不透明度轉成16進位碼,所以如果你要的是50%的不透明度的話,換算成16進位碼就是80,那麼一個50%不透明的紅色就會是#FF000080,是不是很簡單又很方便啊!如果對於不透明度轉換16進位碼有困難的話,Amos先幫你轉幾個常用的數值,值接記下就好啦!

  • 0% 不透明度 > 00
  • 10% 不透明度 > 1A
  • 20% 不透明度 > 33
  • 25% 不透明度 > 40
  • 30% 不透明度 > 4D
  • 40% 不透明度 > 66
  • 50% 不透明度 > 80
  • 60% 不透明度 > 99
  • 70% 不透明度 > B2
  • 75% 不透明度 > BF
  • 80% 不透明度 > CC
  • 90% 不透明度 > E5

關鍵字有甚麼特別

一般來說多數人使用的關鍵字大都是色彩名稱,有網頁安全色與後來制定的X11色彩名稱,另外一個經常會用到的則是透明(transparent),transparent在Amos撰寫三角形時經常都會用到。如果不知道怎麼使用CSS撰寫三角形的話,建議各位可以看一下這場免費的直播影片阿莫斯の網頁料理室 : 吼~三角形怎麼寫啦,最後則是一個比較少人知道的關鍵字currentColor,這個關鍵字目前普遍使用於icon font上面,他可以套用父層指定的color屬性色彩,這樣就能在設計頁面時有更多便利性了,有興趣的朋友建議可以玩看看喔。


「金魚都能懂的CSS選取器」已集結成書,並於書中添加一些新篇章及細節補充,有興趣的朋友可至天瓏書局選購,感謝各位支持
購書連結 https://www.tenlong.com.tw/products/9789864344994?list_name=b-r30-zh_tw
https://ithelp.ithome.com.tw/upload/images/20200917/20112550bxAFk2frMp.jpg
讓我們好好善用CSS選取器吧


金魚都能懂的教學系列

鐵人雙主題挑戰中,歡迎訂閱一波

金魚都能懂的Bootstrap5網頁框架開發

立刻訂閱 CSS可樂的網站/頻道享受精彩文章

Line搜尋「@CSScoke」加入CSS可樂公開帳號,可以收到 Amos 第一手資訊喔
CSS 可樂部落格
CSS coke 的 Youtube 直播頻道
快按此訂閱 CSS coke 的頻道接收最新教學
/images/emoticon/emoticon12.gif


上一篇
Line-height - 金魚都能懂的CSS必學屬性
下一篇
Text-indent - 金魚都能懂的CSS必學屬性
系列文
金魚都能懂的CSS必學屬性31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
ayugioh2003
iT邦新手 1 級 ‧ 2020-09-24 01:17:08

喔喔喔原來16進位碼色彩表示法可以有八碼!

剛剛查了一下,MDN 文件中有列出這個用法
這八碼表示法在 CSS Color Module Level 4 時列入規範(draft)
根據 caniuse 資料,目前除了 IE 外的主流瀏覽器都能使用八碼表示法

CSScoke iT邦新手 3 級 ‧ 2020-09-24 02:22:00 檢舉

對啊~快樂使用吧^^

我要留言

立即登入留言