CSS中顏色可以使用RGB表示,但有時候我們需要將RGB轉化為16進制表示。下面是一種實現方法:
function rgbToHex(r, g, b) { return "#" + ((1<< 24) + (r<< 16) + (g<< 8) + b).toString(16).slice(1); }
上面的函數可以將RGB值表示為16進制。下面是具體實現方式的解釋:
在函數中,我們首先將R、G、B三個值轉化成一個數值。這一步的方法是:將1左移24位,再將R、G、B左移16、8、0位,然后將這4個數值進行或運算。
所以,如果R=255、G=0、B=0,那么RGB值就是16711680。這個數值可以使用toString(16)方法將它轉化為16進制表示。但輸出的結果是8位,我們需要將前兩位的0去掉,所以使用slice(1)方法。
使用這個函數非常簡單!
var redHex = rgbToHex(255, 0, 0);//#ff0000 var greenHex = rgbToHex(0, 255, 0);//#00ff00 var blueHex = rgbToHex(0, 0, 255);//#0000ff
通過這個函數,我們可以輕松地將RGB顏色值轉化為CSS中常用的16進制表示!
上一篇css3半圓環
下一篇css scla計算