почему так происходит
Sergey M. 04.02.2003 13:44
/ 05.02.2003 13:29
дело всё в особенностях 16-битного режима, он уже не
indexed, т.е. в его палитру нельзя добавить определенный цвет, но и ещё не
true color, т.к. для отображения всех цветов 16 бит нехватает, поэтому некоторых оттенков он попросту не в состоянии воспроизвести. Для примера можно в Win9x с любым браузером зайти на титульную страницу
http://www.weblink.ru, и посмотреть как отображается градиент вокруг дельфинов в 16 и 32 бит.
Теперь, собственно, почему видна разница: браузер при выводе страницы пытается исправить недостаток цветов, в случае картинки он пытается подобрать первый похожий по параметрам, а в случае простого HTML он пытается воссоздать исходный цвет при помощи
диффузии (dithering), тут и получается эффект
двух цветов через точку...
Как исправить: при оптимизации для web, фоновый цвет картинки (в вашем случае #cccccc) надо сделать прозрачным, тогда через прозрачные участки будет "просвечиваться" фон страницы.
Либо противоположный вариант, не делать прозрачность, но задать фоновое изображение картинкой цвета #CCCCCC, эффект будет тот же.
Короче говоря, либо всё картинками, либо всё HTML фоном, иначе не сочитается.
И тему эту надо как-то закрывать... ;-)