What is currently the best way to get a favicon to

2019-01-04 05:48发布

What is currently the best way to get a favicon to display in all browsers that currently support it?

Please include:

  1. Which image formats are supported by which browsers.

  2. Which lines are needed in what places for the various browsers.

8条回答
手持菜刀,她持情操
2楼-- · 2019-01-04 06:01

To also support touch icons for tablets and smartphones I prefer the approach of HTML5Boilerplate

More information on touch icons can be found in this article.

With the current status of browser-support you don't even have to add the HTML tag for the favicon in your document. The browsers will search automaticly a list of files, see this example for iOS:

If no icons are specified in the HTML, iOS Safari will search the website’s root directory for icons with the apple-touch-icon or apple-touch-icon-precomposed prefix. For example, if the appropriate icon size for the device is 57 × 57 pixels, iOS searches for filenames in the following order:

  1. apple-touch-icon-57x57-precomposed.png
  2. apple-touch-icon-57x57.png
  3. apple-touch-icon-precomposed.png
  4. apple-touch-icon.png

My advise is to not include a favicon in your document, but have a list of files ready in the root website:

  • apple-touch-icon-114x114-precomposed.png
  • apple-touch-icon-144x144-precomposed.png
  • apple-touch-icon-57x57-precomposed.png
  • apple-touch-icon-72x72-precomposed.png
  • apple-touch-icon-precomposed.png
  • apple-touch-icon.png (57px*57px)
  • favicon.ico HiDPI (32x32px)

When you download a template from html5boilerplate.com these are all included, you just have to replace them with your own icons.

查看更多
萌系小妹纸
3楼-- · 2019-01-04 06:05

Having a favicon.* in your root directory is automatically detected by most browsers. You can ensure it's detected by using:

 <link rel="icon" type="image/png" href="/path/image.png" />

Personally I use .png images but most formats should work.

查看更多
等我变得足够好
4楼-- · 2019-01-04 06:09

I go for a belt and braces approach here.

I create a 32x32 icon in both the .ico and .png formats called favicon.ico and favicon.png. The icon name doesn't really matter unless you are dealing with older browsers.

  1. Place favicon.ico at your site root to support the older browsers (optional and only relevant for older browsers.
  2. Place favicon.png in my images sub-directory (just to keep things tidy).
  3. Add the following HTML inside the <head> element.
<link rel="icon" href="/images/favicon.png" type="image/png" />
<link rel="shortcut icon" href="/favicon.ico" />

Please note that:

  • The MIME type for .ico files was registered as image/vnd.microsoft.icon by the IANA.
  • Internet Explorer will ignore the type attribute for the shortcut icon relationship and this is the only browser to support this relationship, it doesn't need to be supplied.

Reference

查看更多
forever°为你锁心
5楼-- · 2019-01-04 06:11

IE6 cannot handle PNGs correctly, be warned.

查看更多
【Aperson】
6楼-- · 2019-01-04 06:14

Favicon must be an .ico file to work properly on all browsers.

Modern browsers also support PNG and GIF images.

I've found that in general the easiest way to create one is to use a freely available web service such as favicon.cc.

查看更多
成全新的幸福
7楼-- · 2019-01-04 06:16

I use .ico format and put the following two lines within the <head> element:

<link rel="icon" href="/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
查看更多
登录 后发表回答