Непрозрачный белый фон с rgba отображает серый на белом фоне?

Я добавил прозрачный фон на div, на белом фоне, например:

body {
    background: white;
}

.opaque-white {
    background: rgba(255,255,255,0.95);
    height: 300px;
    width: 300px;
}
<body>

    <div class="opaque-white">
        Area with opaque (opacity: 0.95) background.
    </div>

</body>

JSFiddle link: http://jsfiddle.net/DvYCA/4/

но по какой-то причине цвет div показывает серый, а не белый. Непрозрачный белый над белым должен отображаться... белый, правый?

Или я ошибаюсь?

EDIT: Я добавляю скриншот проблемы. Это очень тонкая разница, но заметно на некоторых экранах. Чтобы понять разницу, попробуйте выбрать цвет в левой части изображения, с правой областью. Difference between white and transparent-white-over-solid-white :)

Ответ 1

Это не ваш экран. Выбор цвета не лежит. Я вижу, что ошибка все еще присутствует в Chrome 38 и Canary 40. То, что сработало для меня, заключалось в том, чтобы добавить transform: translateZ(0); в div.opaque-white.

Ответ 2

Похож на ошибку: композиты и выходы Chrome rgb (254,254,254), в то время как Safari выводит rgb (255,255,255). Интересно, что, похоже, не имеет значения, какую альфа-ценность вы используете, Chrome всегда выводит один и тот же цвет. Он показывает только полный белый цвет, если у вас есть альфа-значение 0 или 1, что-то между ними приводит к получению тонкого не-белого.

Ответ 3

Снимок экрана показывает желаемый эффект - он кажется белым для меня, и его открытие в фотошопе показывает одну сторону на 255 255,255, а другую - на 254,254,254.

Вы проверили его на другом мониторе? Мне кажется, что решение (или скорее проблема) на самом деле локально - возможно, ваш экран или какой-то поврежденный файл .icm.

Можете ли вы попробовать использовать шестнадцатеричное значение и атрибут непрозрачности?

.opaque-white {
background: #ffffff;
opacity:.95;
}

Здесь сценарий: http://jsfiddle.net/Gv59a/

Ответ 4

Я столкнулся с этой проблемой и обнаружил, что разница между двумя разными мониторами наблюдается.

На моем основном мониторе я вижу серый, тогда как на моем вторичном мониторе я вижу белый.

Различные технологии отображения используют несколько разные алгоритмы для расчета того, что отображать для каждого пикселя, и любая технология отображения может ухудшиться различными способами, которые могут повлиять на точность.

Я также обнаружил, что угол обзора может подчеркнуть эффект http://www.techmind.org/lcd/colour.html.

Попробуйте просмотреть свой сайт/примеры на разных мониторах.