Кроме того факта, что PNG является более распространенным форматом изображений, есть ли какие-либо технические причины для предпочтения favicon.png вместо favicon.ico?
Я поддерживаю современные браузеры, которые поддерживают PNG любимые иконки.
Кроме того факта, что PNG является более распространенным форматом изображений, есть ли какие-либо технические причины для предпочтения favicon.png вместо favicon.ico?
Я поддерживаю современные браузеры, которые поддерживают PNG любимые иконки.
Ответы:
Ответ заменен (и превратился в Сообщество вики) из-за многочисленных обновлений и заметок от других в этой теме:
Не стесняйтесь обращаться к другим ответам здесь для более подробной информации.
Все современные браузеры (протестированные с Chrome 4, Firefox 3.5, IE8, Opera 10 и Safari 4) всегда будут запрашивать a, favicon.ico
если вы не указали ярлык через <link>
. Так что, если вы не укажете явно, лучше всегда иметь favicon.ico
файл, чтобы избежать 404. Yahoo! предлагает сделать его маленьким и кэшируемым.
И вам не нужно использовать PNG только для альфа-прозрачности. Файлы ICO прекрасно поддерживают альфа-прозрачность (то есть 32-битный цвет), хотя вряд ли какие-либо инструменты позволят вам их создать. Я регулярно использую FavIcon Generator от Dynamic Drive для создания favicon.ico
файлов с альфа-прозрачностью. Это единственный онлайн-инструмент, который я знаю, который может это сделать.
Есть также бесплатный плагин Photoshop, который может их создавать.
.ico
редактирование в PS. И даже если вы это сделаете, конечный результат очень плохой, вы могли бы подумать, что .bmp
это лучший формат (он добавляет много метаданных, делая повторное редактирование огромной болью).
Файлы .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 преимущества: он имеет меньший размер и более широко используется и поддерживается (кроме случаев использования favicons). Как упоминалось ранее, ICO может иметь значки разного размера, что полезно для настольных приложений, но не слишком для веб-сайтов. Я бы порекомендовал вам поместить favicon.ico в корень вашего приложения. Если у вас есть доступ к заголовкам страниц вашего сайта, используйте тег, чтобы указать на файл png. Так что старый браузер покажет favicon.ico, а новый - png.
Для создания файлов Png и Icon я бы порекомендовал The Gimp .
Некоторые социальные инструменты, такие как Google+, используют простой метод, чтобы получить значок для внешних ссылок, выбирая http://your.domainname.com/favicon.ico.
Поскольку они не выполняют предварительную выборку содержимого HTML, <link>
тег не будет работать. В этом случае вы можете использовать правило mod_rewrite или просто поместить файл в папку по умолчанию.
ICO может быть PNG.
Точнее, вы можете хранить один или несколько png внутри этого минимального формата контейнера вместо обычного растрового изображения + альфа, которое все сильно ассоциируют с ico.
Поддержка старая, появляется в Windows Vista (2007) и хорошо поддерживается браузерами, хотя не обязательно программным обеспечением для редактирования значков.
Любому допустимому png (целому, включая заголовок) может предшествовать 6-байтовый заголовок ico и 16-байтовый каталог изображений.
GIMP имеет встроенную поддержку. Просто экспортируйте как ico и отметьте «Сжатый (PNG)».
Избегайте PNG в любом случае, если вы хотите надежную совместимость с IE6.
<link>
в коде страницы для современных браузеров.
Для чего это стоит, я делаю это:
<!-- Favicon - Generic -->
<link rel="icon" href="path/favicon-32_x_32.png" sizes="32x32">
<link rel="icon" href="path/favicon-57_x_57.png" sizes="57x57">
<link rel="icon" href="path/favicon-76_x_76.png" sizes="76x76">
<link rel="icon" href="path/favicon-96_x_96.png" sizes="96x96">
<link rel="icon" href="path/favicon-128_x_128.png" sizes="128x128">
<link rel="icon" href="path/favicon-192_x_192.png" sizes="192x192">
<link rel="icon" href="path/favicon-228_x_228.png" sizes="228x228">
<!-- Favicon - Android -->
<link rel="shortcut icon" href="path/favicon-196_x_196.png" sizes="196x196">
<!-- Favicon - iOS -->
<link rel="apple-touch-icon" href="path/favicon-120_x_120.png" sizes="120x120">
<link rel="apple-touch-icon" href="path/favicon-152_x_152.png" sizes="152x152">
<link rel="apple-touch-icon" href="path/favicon-180_x_180.png" sizes="180x180">
И я до сих пор держу favicon.ico в корне.