фавикон.ПНГ против фавикон.ico-почему я должен использовать PNG вместо ICO?


кроме того, что PNG является более распространенным форматом изображения, есть ли какие-либо технические причины в пользу favicon.ПНГ и фавикон.ico?

Я поддерживаю современные браузеры, которые все поддерживают любимые иконки PNG.

8 393

8 ответов:

ответ заменен (и превратил сообщество Wiki) из-за многочисленных обновлений и заметок от различных других в этой теме:

  • ICOs и PNGs оба позволяют полный альфа-канал на основе прозрачности
  • ICO обеспечивает обратную совместимость со старыми браузерами (например, IE6)
  • PNG, вероятно, имеет более широкую поддержку инструментов для прозрачности, но вы можете найти инструменты для создания Альфа-каналов ICOs, такие как динамический привод инструмент и плагин для Photoshop упоминается @mercator.

Не стесняйтесь обращаться к другим ответам здесь для получения более подробной информации.

все современные браузеры (протестированные с Chrome 4, Firefox 3.5, IE8, Opera 10 и Safari 4) всегда будут запрашивать favicon.ico Если вы не указали ярлык через <link>. Поэтому, если вы явно не указываете его, лучше всегда иметь favicon.ico файл, чтобы избежать 404. Yahoo! предлагает вам сделать его маленьким и кэшируемым.

и вам не нужно идти на PNG только для Альфа-прозрачности либо. ICO файлы поддержка Альфа-прозрачности просто отлично (т. е. 32-битный цвет), хотя вряд ли какие-либо инструменты позволяют создавать их. Я регулярно использую генератор фавикона динамического привода создать favicon.ico файлы с Альфа-прозрачностью. Это единственный онлайн-инструмент, который я знаю, что может это сделать.

есть также бесплатный Photoshop плагин что может создать их.

.png файлы хороши, но .ICO файлы обеспечивают прозрачность Альфа-канала, тоже плюс они дают вам обратную совместимость.

посмотрите, какой тип StackOverflow использует, например (обратите внимание, что это прозрачно):

<link rel="shortcut icon" href="http://sstatic.net/so/favicon.ico"> 
<link rel="apple-touch-icon" href="http://sstatic.net/so/apple-touch-icon.png"> 

apple-itouch вещь для пользователей iphone, которые делают ярлык на веб-сайт.

теоретическое преимущество *.ICO файлов является то, что они являются контейнерами, чем может держать больше чем один значок. Например, вы можете сохранить изображение с альфа-каналом и 16-цветной версией для устаревших систем, или вы можете добавить значки 32x32 и 48x48 (которые должны были бы при перетаскивании ссылки на проводник Windows).

эта хорошая идея, однако, имеет тенденцию сталкиваться с реализациями браузера.

PNG имеет 2 преимущества: он имеет меньший размер и более широко используется и поддерживается (за исключением случаев фавиконов). Как уже упоминалось ранее ICO, может иметь несколько значков размера, что полезно для настольных приложений, но не слишком много для веб-сайтов. Я бы рекомендовал вам поставить фавикон.ico в корне вашего приложения. Если у вас есть доступ к заголовку страниц вашего сайта, используйте тег, чтобы указать на файл png. Так что старый браузер покажет фавикон.ico и более новые из них формат PNG.

для создания Png и Icon файлов я бы рекомендовал Gimp.

некоторые социальные инструменты, такие как Google + используют простой метод, чтобы получить фавикон для внешних ссылок, выборка http://your.domainname.com/favicon.ico

поскольку они не предварительно выбирают содержимое HTML, то <link> тег не будет работать. В этом случае вы можете использовать правило mod_rewrite или просто поместить файл в папку по умолчанию.

ico может быть a png.

точнее, вы можете хранить один или несколько png внутри этого минимального формата контейнера, вместо обычного bitmap + alpha, который все сильно ассоциируется с ico.

поддержка старого, появляется в Windows Vista (2007) и хорошо поддерживается браузерами, хотя и не обязательно путем редактирования иконок программ.

любой допустимый png (весь, включая заголовок) может быть дополнен 6 байт ico заголовок и 16-байтовый каталог изображений.
GIMP имеет встроенную поддержку. Просто экспортируйте как ico и отметьте " сжатый (PNG)".

избегайте PNG в любом случае, если вы хотите надежную совместимость IE6.