CSS3不透明度的最大精度是多少?

Tom*_*ica 7 javascript css3

所以我一直在为交互式淡化产生不透明度.

但是,我认为使用非基本值来表示不透明度并不是一个好主意.如果最大精度低于精度的最大javascript,则浏览器似乎对值进行舍入,但认为它已更改.

所以问题是,对CSS3有意义的最大精度是opacity多少?

Joe*_*e50 6

不透明度允许基本上你想要的任何小数,但问题是HTML只能以256种不同的方式改变它的亮度.因此,最敏感的不透明度是黑色的东西,白色的东西,有256种不同色调的可见多样性.这是因为R,G和B之间的比率必须始终保持不变以保持相同的颜色.

因此,由于最敏感的颜色具有256个不同的值,因此对可见输出产生影响的最小变化将是1/256 = 0.00390625.从理论上讲,这应该是增加不透明度的最小步长.

我已经测试了这个,并且使用了一个简单的颜色选择器,我注意到在这个例子中,底部div是唯一一个颜色有任何变化的颜色.前两个div有颜色#000000,底部div有颜色#010101.所以,基于此,我会说:

  1. 输入的值不是四舍五入的,如果是,则它们总是向下舍入(floor函数)
  2. 不透明度的最大灵敏度为3位小数.

应该注意的是,这一切都在谷歌Chrome中进行了测试,就像BoltClock所说的那样,这可能会因实施而异.