Вопрос

Я пытался кодировать какой -то код манипуляции с цветом и долго застрял с Alpha, затем я (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 или я просто не знаю о цветах (правда)?

Это было полезно?

Решение

Прежде всего

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

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

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

Опера:Opera Screenshot

Хром:Chrome Screenshot

Другие советы

Когда я зарегистрировался в Chrome & Safari, но я получил точно такой же цвет RGBA #808080 в обоих. Дайте нам знать, какую версию браузера вы используете.

rgba alpha value issue

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top