Почему браузеры отображают rgba по-разному в OSX?

Я пытался написать какой-то код для манипулирования цветом и долгое время застрял с альфой, а затем (через 2 часа) понял, что браузеры отображают rgba по-разному.

Я создал этот тест: http://jsbin.com/adekez/2/ добавить/редактировать, чтобы посмотреть в коде

Вот результаты в 4 браузерах в OSX Lion: http://imgur.com/g2iqu

Это элемент с фоном rgba(0,0,0,0.5) поверх белого.

Мой шестнадцатеричный калькулятор говорит: FF÷2 = 7F.8, что означает

Safari с номером 808080 верен Firefox с номером 7F7F7F отключен на 1 Opera с номером 7E7E7E отключен на 2 Chrome с номером 929292 далеко не так

Что здесь происходит, это ошибка в Chrome или я просто не знаю о цветах (правда)?


person Rob Middleton    schedule 18.02.2012    source источник


Ответы (2)


Прежде всего

Ну, на самом деле Safari и Firefox оба верны: 0xFF = 255, 255 / 2 = 127.5. Таким образом, 128 может быть правильным (0x80), но также и 127 (0x7F) - в зависимости от соглашения об округлении браузера.

Объяснение вопроса

Это проблемы с округлением. Я не совсем понимаю, почему возникают проблемы с округлением, поскольку 0,5 можно представить в двоичном формате без потери точности, но на самом деле проблемы с округлением есть:

Opera: Снимок экрана Opera

Chrome: Снимок экрана Chrome

person apfelbox    schedule 05.03.2012

Когда я проверил хром и сафари, я получил один и тот же цвет rgba # 808080 в обоих. Сообщите нам, какую версию браузера вы используете.

проблема с альфа-значением rgba

person Praveen Vijayan    schedule 21.02.2012