Favicon尺寸?

b20*_*ger 312 html favicon

我有一个尺寸为height = 26px/width = 20px的图标,名为favicon.png

<link href=http://www.example.com/images/favicon.png rel="shortcut icon" />
Run Code Online (Sandbox Code Playgroud)

但是,在我的浏览器中,我的favicon.png都是扭曲的.

问题:我的favicon.png应该是特定尺寸吗?另外,我可以使用非标准尺寸/尺寸,如果是,如何使用?

phi*_*e_b 488

简短的回答

favicon应该是ICO格式的一组16x16,32x32和48x48图片.ICO格式与PNG不同.不支持非方形图片.

为了生成图标,由于下面解释的原因,我建议你使用这个图标生成器.完全披露:我是这个网站的作者.

长,全面的答案

Favicon必须是方形的.桌面浏览器和Apple iOS不支持非方形图标.

favicon由几个文件支持:

  • 一个favicon.ico图标.
  • 一些其他PNG图标.

为了在桌面浏览器(Windows/IE,MacOS/Safari等)中获得最佳效果,您需要将两种类型的图标组合在一起.

favicon.ico

虽然所有桌面浏览器都可以处理此图标,但它主要用于旧版本的IE.

ICO格式与PNG格式不同.这一点很棘手,因为有些浏览器足够聪明,可以正确处理PNG图片,即使它被错误地重命名为ICO扩展.

ICO文件可以包含多个图片,Microsoft建议将16x16,32x32和48x48版本的图标放入其中favicon.ico.例如,IE将使用16x16版本作为地址栏,使用32x32作为任务栏快捷键.

使用以下内容声明favicon:

<link rel="icon" href="/path/to/icons/favicon.ico">
Run Code Online (Sandbox Code Playgroud)

但是,建议将其放在favicon.ico网站的根目录中,不要声明它,让现代浏览器选择PNG图标.

PNG图标

现代桌面浏览器(IE11,Chrome的最新版本,Firefox ......)更喜欢使用PNG图标.通常的预期尺寸是16x16,32x32和"尽可能大".例如,MacOS/Safari使用196x196图标,如果它是它能找到的最大图标.

建议的尺寸是多少?选择你喜欢的平台:

PNG图标声明为:

<link rel="icon" type="image/png" href="/path/to/icons/favicon-16x16.png" sizes="16x16">
<link rel="icon" type="image/png" href="/path/to/icons/favicon-32x32.png" sizes="32x32">
...
Run Code Online (Sandbox Code Playgroud)

注意:Firefox不支持该sizes属性,并使用它找到的最后一个PNG图标.确保最后声明32x32图片:它对Firefox来说已经足够了,这将阻止它下载它不需要的大图片.

另请注意,Chrome不支持该sizes属性,并且倾向于加载所有已声明的图标.最好不要声明太多图标.

移动平台

这个问题是关于桌面图标,所以没有必要在这个主题上钻研太多.

Apple定义了iOS平台的触摸图标.iOS不支持非方形图标.它只是重新调整非方形图片,使它们成为正方形(寻找Kioskea示例).

Android Chrome依赖于Apple touch图标,还定义了192x192 PNG图标.

Microsoft定义了图块图片browserconfig.xml文件.

结论

生成适用于所有地方的图标非常复杂.我建议你使用这个favicon生成器.完全披露:我是这个网站的作者.

  • 来自XSLT用户的Pedantry:请关闭您的标签:) <link /> (10认同)
  • @NathanHornby所以你处于"自我封闭的标记"的事情?:)说真的,自闭的标签适用于XHTML(和XSLT,所以你是抱怨的权利),但所有其他版本(如HTML5)都会阻止它们.更多信息:https://github.com/RealFaviconGenerator/realfavicongenerator/issues/62 (5认同)
  • 嗯,我同意其他人:)正确关闭标签是有效和语义的,无论是否*需要*.如果添加斜杠增加了兼容性而没有任何缺点,那么我认为没有理由省略它,它只是很好的编码实践,比如添加</ div>和</ form>,即使现代浏览器通常不需要*它; ) (3认同)
  • 谢谢@Sebastian!正如我多次观察到的那样,FF随机选择了图标(几乎).请参阅realfavicongenerator.net/favicon_compatibility.您还可以运行兼容性测试(http://realfavicongenerator.net/favicon_compatibility_test):在4次测试期间,FF应始终显示相同的图标.但情况可能并非如此. (2认同)
  • 很棒的网站!只是注意到MSDN链接将"16x16,24x24,32x32,64x64"称为"Optimal",并将"推荐"称为"推荐".他们最近添加了"最佳"的东西,还是有理由不选择它? (2认同)
  • 专业提示:该工具将接受SVG文件作为输入,因此如果您正在使用矢量源,请不要打扰光栅化. (2认同)
  • 购买Pedantry:`<link />`是有效的__XHTML__但不是__HTML__.最后的空间只对非常老的IE浏览器有帮助,它们无法正确处理`/>`,并且在任何XML规范中都不是必需的.HTML5有两种形式.XHTML5仅在文档作为XML文档提供时有效.在HTML5或任何其他非XHTML变体中包含结束斜杠是无效的,但所有浏览器都会原谅.鉴于IE无法正常处理XHTML,因此将其作为HTML服务器成为标准做法,但这意味着结束斜杠不合适. (2认同)
  • 链接的Favicon Generator是一个很棒的网站-就像一个魅力。干杯! (2认同)

Mar*_*urd 106

16x16像素,*.ico格式.

  • 我相信主流浏览器现在支持GIF,JPG和PNG以及.ico. (32认同)
  • Internet Explorer没有(至少包括版本8).这是非常重要的.http://msdn.microsoft.com/en-us/library/ms537656%28VS.85%29.aspx(向下滚动到"疑难解答"部分) (21认同)
  • 顺便说一下,16x16的视网膜看起来很可怕. (6认同)
  • http://stackoverflow.com/favicon.ico =>`16x16``RGBA``32Bit`` .ico``1.12 KB` (5认同)
  • @KenBarber iOS设备应该通过指定更多"视网膜友好"图标的元标记来照顾. (3认同)

Der*_*man 65

20129年标准归功于faviconit

我使用faviconit.com获得最佳浏览器和设备支持.您上传图像,此站点为您提供代码,转换后的图像和browserconfig文件.


我们可以简单地将一个favicon手动上传到我们16x16的网站,它几乎可以在任何浏览器中显示.

但是当您将它标记为智能手机或平板电脑上的最爱之一时,我们将需要更大的图像(60x60到144x144).

并且假设我们的一个用户在他们的桌面上创建了一个快捷方式.在这种情况下,196x196看起来更好!


在所有转换后的图像旁边,faviconit会给你的示例代码:

<!-- place this in your <head></head> -->
<link rel="shortcut icon" href="/favicon.ico">
<link rel="icon" sizes="16x16 32x32 64x64" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="196x196" href="/favicon-192.png">
<link rel="icon" type="image/png" sizes="160x160" href="/favicon-160.png">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96.png">
<link rel="icon" type="image/png" sizes="64x64" href="/favicon-64.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png">
<link rel="apple-touch-icon" href="/favicon-57.png">
<link rel="apple-touch-icon" sizes="114x114" href="/favicon-114.png">
<link rel="apple-touch-icon" sizes="72x72" href="/favicon-72.png">
<link rel="apple-touch-icon" sizes="144x144" href="/favicon-144.png">
<link rel="apple-touch-icon" sizes="60x60" href="/favicon-60.png">
<link rel="apple-touch-icon" sizes="120x120" href="/favicon-120.png">
<link rel="apple-touch-icon" sizes="76x76" href="/favicon-76.png">
<link rel="apple-touch-icon" sizes="152x152" href="/favicon-152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/favicon-180.png">
Run Code Online (Sandbox Code Playgroud)

自Windows 8起

但这还不是全部.从Windows 8开始,我们可以创建带有磁贴的网站快捷方式!

<!-- place this in your <head></head> -->
<meta name="msapplication-TileColor" content="#FFFFFF">
<meta name="msapplication-TileImage" content="/favicon-144.png">
<meta name="msapplication-config" content="/browserconfig.xml">
Run Code Online (Sandbox Code Playgroud)

Browserconfig.xml

上传名为browserconfig.xml的文件(在Windows中启用切片> 8)

<browserconfig>
    <msapplication>
        <tile>
            <square70x70logo src="/favicon-70.png"/>
            <square150x150logo src="/favicon-150.png"/>
            <square310x310logo src="/favicon-310.png"/>
            <TileColor>#FFFFFF</TileColor>
        </tile>
    </msapplication>
</browserconfig>
Run Code Online (Sandbox Code Playgroud)

  • 谢谢.对于任何人来说,这是2017-18赛季所需要的一切.直到操作系统/浏览器再次更新... (4认同)
  • 我同意这里所说的大部分内容,但 faviconit 网站顶部声明“Faviconit 服务将于 2023 年 10 月 3 日终止”。它也不支持 HTTPS,因此它并不完全是 Web 标准的灯塔。您可能需要考虑删除此答案。 (2认同)

Ott*_*ger 31

维基百科有这样的说法:

此外,此类图标文件的大小可以是16×16或32×32像素,颜色深度可以是8位或24位(请注意,GIF文件具有有限的256个调色板条目).

我认为最好的方法是使用32x32 gif并使用不同的浏览器进行测试.

  • 类似的东西在W3.org上说:http://www.w3.org/2005/10/howto-favicon他们还指定了格式:图像的格式必须是PNG(W3C标准),GIF之一,或ICO. (2认同)

Joo*_*stS 18

最简单的解决方案是使用一个(!)PNG图像(在2018年).

只需将其添加到文档的头部:

<link rel="shortcut icon" type="image/png" href="/img/icon-196x196.png">
<link rel="shortcut icon" sizes="196x196" href="/img/icon-196x196.png">
<link rel="apple-touch-icon" href="/img/icon-196x196.png">
Run Code Online (Sandbox Code Playgroud)

最后一个链接用于Apple(主屏幕),第二个链接用于Android(主屏幕),第一个链接用于其余部分.

请注意,此解决方案不支持Windows 8/10中的"磁贴".它支持快捷方式,书签和浏览器标签中的图像.

  • @Gaurav 嗯...我在 https://www.usecue.com/img/icon-196x196.png 上的 196x196 png 图像只有 950 字节。而你在 https://assets.ember-twiddle 上的 16x16 .ico 。 com/favicon-c53354b6e35d20e40c24c57b2504c321.ico 是 1050 字节。 (6认同)
  • 这将覆盖99%的用户,减少10倍的工作量.谢谢! (2认同)