CSS GIF белый фон инсульта? - PullRequest
0 голосов
/ 12 октября 2009

Кто-нибудь знает, как исправить обводку белого фона в CSS, который вы видите, когда на цвет накладывается прозрачный gif?

Ответы [ 4 ]

0 голосов
/ 12 октября 2009

Это из-за того, как прозрачность обрабатывается в файлах GIF. Формат файла не имеет альфа-канала, только один цвет помечен как прозрачный. Это означает, что каждый пиксель может быть только полностью прозрачным или полностью непрозрачным.

Когда вы сохраняете изображение в формате GIF, программа преобразует любые частично прозрачные пиксели в полностью прозрачные (если они почти прозрачные) или полностью прозрачные, изменяя цвет на тот, который был бы, если бы он был нарисован на сплошном цвет фона (называемый матовым).

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

Если вам нужно отобразить изображение на разных фонах, вам нужно либо использовать одно изображение для каждого цвета фона, либо использовать формат файла PNG, который может поддерживать альфа-канал.

(Обратите внимание, что IE6 не отображает PNG-изображения с альфа-каналом правильно, но есть исправление для этого, если вам нужна поддержка IE6.)

0 голосов
/ 12 октября 2009

, если вы ищете исправление в IE, посмотрите на http://www.howtocreate.co.uk/alpha.html

0 голосов
/ 12 октября 2009

Маленькая белая граница, которую вы видите, является артефактом графической программы, пытающейся угадать, какой цвет фона будет наилучшим для прозрачности изображения. В данном случае это белый.

Если бы ваше изображение было на светлом фоне, вы бы не увидели его так резко.

Попробуйте экспортировать изображение с более темным матовым фоном, чтобы уменьшить количество пикселей на глазных яблоках.

0 голосов
/ 12 октября 2009

Я считаю, что это не имеет ничего общего с CSS, но с вашим GIF вы экспортируете. Если у вас есть картинка сглаживания, и вы пытаетесь экспортировать ее в gif с прозрачностью. Он автоматически отобразит дополнительный матовый пиксель для некоторых полупрозрачных пикселей.

Если вы хотите, чтобы тени были прозрачными, чем PNG-файлы. Проблема с PNG в том, что он не будет работать идеально в IE6

...