2013-10-16 129 views
0

當我們在Html中使用RGBA時,我們使用這樣的東西。Html rgba顏色不透明?

<div style="Background: rgba (x, x, x, 0.dd)">Some Content</div> 

多少小數你能在dd(不透明度)去。它依賴於瀏覽器嗎?或者它的限制是在HTML標準中規定的?

回答

4

specification說,這是一個<number>defined as:(。)

零個或多個數字後面加一個點後面跟着一個或多個數字

所以沒有指定的限制在CSS規範中。

如果任何人眼可以區分超過兩位小數,我會感到驚訝。

0

opacity屬性的值設置爲兩位小數。

所有當前的瀏覽器都認識到這一點,IE8及以下版本的上下文有所不同。

3

該值可以是0.0到1.0之間的任何數字。

分辨率取決於色彩空間分辨率通常是8位(未來可能提供更高的分辨率,如10位和12位,雖然我懷疑這會很快發生,但,這就是爲什麼一小部分被用來代替字節值)。

值乘以字節的值,因此被限制,你想用什麼數字和最終值四捨五入到最接近的整數值:

Internal byte value = round(alpha * 255); 

(或1/256 = 0.00390625增量)

爲您提供最終字節值和視覺外觀的實際更改(假設背景爲純色)。

我在這裏做了一個小腳本,它給出了在小數值中使用各種數字的小數的結果 - 正如你可以看到當你在3位小數時,這些值開始相似,因此沒有那麼有用。

ONLINE GENERATED TABLES HERE

Tables

的循環來生成表看起來像這樣一般:

for (; i < 1; i += 0.1) { 
    num = Math.round(i * 255, 10); 
    ... 
}