Pourquoi les navigateurs rendent rgba différemment sur Mac OS X?
-
27-10-2019 - |
Question
Je tente de coder jusqu'à un code de manipulation des couleurs et a été bloqué pendant longtemps avec alpha, puis I (2 heures plus tard) les navigateurs réalisés différemment rgba rends.
J'ai créé ce test: http://jsbin.com/adekez/2/ ajouter / modifier à regarder le code
Voici les résultats dans 4 navigateurs dans OSX Lion: http://imgur.com/g2iqu
qui est un élément avec un fond de rgba (0,0,0,0.5) sur le dessus du blanc.
Ma calculatrice hex dit: FF ÷ 2 = 7F.8 qui moyens
Safari au # 808080 est correct Firefox à # 7F7F7F est désactivée par 1 Opera à # 7E7E7E est désactivée par 2 Chrome à # 929292 est loin
Qu'est-ce qui se passe ici, est-ce un bug dans Chrome ou dois-je tout simplement pas au courant de couleurs (vrai)?
La solution
Tout d'abord
Eh bien, en fait Safari et Firefox sont à la fois correcte:
0xFF = 255
, 255 / 2 = 127.5
. Donc 128
peut être correct (0x80
), mais aussi 127
(0x7F
) -. Selon la convention d'arrondi du navigateur
explantion de la question
Ces complétons questions. Je ne suis pas tout à fait pourquoi il y a des problèmes d'arrondi, puisque 0,5 est représentable en nombres binaires sans perte de précision, mais il y a, dans l'arrondissement de questions fait:
Opera:
Chrome:
Autres conseils
Quand je suis en chrome et safari, mais je suis arrivé exactement la même couleur RGBA # 808080 à la fois. Faites-nous savoir quelle version du navigateur que vous utilisez.