我想在CSS中使用的所有顏色列表的顏色,但他們似乎被儲存在一個基地16格式。我覺得這樣的事情可能會奏效,但它不會做我想做的,迭代通過在JavaScript
for(x; x< 100; x++)
{
color = x.toString(16);
}
我想在CSS中使用的所有顏色列表的顏色,但他們似乎被儲存在一個基地16格式。我覺得這樣的事情可能會奏效,但它不會做我想做的,迭代通過在JavaScript
for(x; x< 100; x++)
{
color = x.toString(16);
}
在CSS 3使用的顏色包括每個紅色,綠色,藍色和Alpha通道的,我相信的8位是8位(但被定義爲十進制數,所以很難說)。可以將這些顏色表示爲rgba或hsla。使用十六進制,您只能表示100%不透明的顏色。通過一種顏色的八位迭代是很容易的:
for (var i=0; i<256; i++) {
var redChan = i;
}
要遍歷所有的顏色可能是通過嵌套這個循環四個層次深,但是,讓你想在迭代什麼方向的一些假設它。也將是一個相當長的行動。在CSS
// This is not intended to be the best solution, just to demonstrate the basic algorithm.
for (var r=0; r<256; r++) {
for (var g=0; g<256; g++) {
for (var b=0; b<256; b++) {
// Assume we have 8 bits of alpha to use.
for (var a=0; a<256; a++) {
console.log('rgba(' + [r,g,b,a/255].join(',') + ')');
}
}
}
}
顏色通常可以通過紅,綠和藍的值(如0〜255之間的整數),並且有時爲透明度的α值進行說明。
如果您對alpha值不感興趣,可以用十六進制格式在CSS中編寫#RRGGBB格式的顏色。
如果我們忘記了我們使用分組爲紅,綠,藍,可以看出,我們正在寫000000
(0
)和FFFFFF
(16777215
)之間的數字。因此,您可以將每個RGB顏色描述爲此範圍內的整數。
var i = 0, colour;
for (; i < 16777216; ++i) { // this is a BIG loop, will freeze/crash a browser!
colour = '#' + ('00000' + i.toString(16)).slice(-6); // pad to 6 digits
// #000000
// #000001
// ... #000100 ...
// #FFFFFE
// #FFFFFF
}
上面的代碼遍歷所有16777216
顏色,所以我建議儘量不要運行這樣一個循環,但你可以看到它是如何變成一個獨特的十六進制顏色範圍內的整數。
在JavaScript中,你可以使用「0X」一個號碼之前,使其十六進制和「0」,使之八。使用這種方法,這應該是最好的代碼。 這可能會導致瀏覽器崩潰,因爲在所有CSS中都有16,581,375種不同的可能的十六進制顏色。這比有兆字節(大約100萬)的字節數多,或者需要多少年才能破解17-小寫字母的密碼。
var colors = new Array();
for(col=0x0;col<=0xFFFFFF;col++) {
colors.push("#" + col);
}
你是什麼意思,所有在CSS中使用的顏色?你爲什麼期望代碼能夠做你想做的事?如何描述你想要的內容,並展示你迄今爲止嘗試實現的目標。 – 2013-05-12 01:23:26
實際上想要使用滑塊小部件。滑塊的每個增量都會將div更改爲新顏色。 – 2013-05-12 01:27:29