Странное поведение непрозрачности и тени текста - PullRequest
1 голос
/ 11 октября 2011

У меня проблема с Chrome, пытающимся установить непрозрачность ниже 1, потому что текст будет выглядеть не так, как выглядит, когда непрозрачность равна 1

Абзацы со смешанными значениями непрозрачности http://www.gabrielecirulli.com/p/20111011-163614.png

На картинке я установил opacity: 0.5; в нескольких абзацах, которые вы можете видеть. Если вы заметили, что шрифт отличается от версии с полной непрозрачностью, и в конце постепенной анимации jQuery вы можете четко видеть переход от одной версии к другой. Это происходит только в Chrome, и я думаю, что это не первый раз, когда я замечаю это.

Я попытался дублировать абзац, и теперь эффект еще более заметен:

Тот же абзац с двумя разными значениями непрозрачности http://gabrielecirulli.com/p/20111011-164436.png

То же самое не происходит, когда размер шрифта увеличивается.

Вот CSS-конфигурация текста, который вы можете увидеть:

font-family: 'Tahoma', 'Verdana', 'Helvetica', 'Arial', sans-serif;
font-size: 13px;
color: #f4f4f4;

Шрифт, выбранный на картинке, был Tahoma. У текста есть проблема с тенью текста:

text-shadow: 0px -1px 0px rgba(0, 0, 0, .5), 0px -1px 5px rgba(0, 0, 0, .2);

Как видно из CSS, тень должна идти вверх только на один пиксель, но по какой-то причине, как вы можете видеть на рисунках, она также смещена влево на один пиксель. Эта же проблема, опять же, не возникает в Firefox. Установка горизонтального расстояния в 1 пиксель отодвинет его на 2 пикселя от его текущего положения и не решит проблему.

1 Ответ

3 голосов
/ 28 декабря 2011

Chrome использует аппаратно-ускоренное создание слоев рендеринга, когда это применимо, что может привести к различиям в рендеринге. Это имеет место с непрозрачными (или частично полупрозрачными) элементами, такими как с тенью. См. https://sites.google.com/a/chromium.org/dev/developers/design-documents/gpu-accelerated-compositing-in-chrome для различия между программным и аппаратным композитированием и более подробной информацией по теме.

...