为 iPhone 和 iPad 自定义网站的主屏幕图标
iPhone 和 iPad 等苹果设备使用主屏幕 (Home Screen, 也称桌面) 管理应用程序, 还可以通过浏览器的添加到主屏幕功能将网站链接作为快捷方式添加为主屏幕图标.
是否你也想过为网站定义一个图标, 如果用户将网站添加至主屏幕, 网站链接看起来更像原生程序, 也能获得更多的关注. 除了兼容手机端的浏览体验, 我们还能做得更多, 为 iPhone 和 iPad 自定义网站的主屏幕图标也算其中之一, 本文将对网站的主屏幕图标及其设定方法为进行详细介绍.
网站的主屏幕图标
iPhone/iPad 上的原生浏览器可以向主屏幕添加小图标, 作为网站入口. 如下:
如果网站没做过兼容处理, 小图标显示的是网页截图. 效果如下:
我们再看看 Apple 自己的页面, 它已经设定了主屏幕图标, 效果如下:
设定主屏幕图标
看到上面的截图, 我想你会打算自定义一个图标了. iOS 的网页图标与传统的网页 favicon 相似, 处理方式也差不多, 下面会为你介绍几种处理方式.
放置在默认位置
创建一个 PNG 图片, 命名为 apple-touch-icon.png 或者 apple-touch-icon-precomposed.png, 放置在网站根目录即可.
指定图标路径
为页面指定一个图标路径, 在网页的 head 部分代码如下:
<link rel="apple-touch-icon" href="/custom_icon.png"/>
为不同设备指定图标
在网页中为不同的设备指定特殊图标, 因为 iPhone 和 iPad 的图标尺寸不一样, 需要 sizes 属性来进行区分, 如果没有定义 sizes 属性, 默认 sizes 是 57 x 57. 代码如下:
<link rel="apple-touch-icon" href="touch-icon-iphone.png" /> <link rel="apple-touch-icon" sizes="72x72" href="touch-icon-ipad.png" /> <link rel="apple-touch-icon" sizes="114x114" href="touch-icon-iphone4.png" />
如果没有图片尺寸可以匹配设备图标的尺寸, 存在比设备图标大的图片, 将使用比设备图标尺寸略大的图片; 如果没有比设备图标大的图片, 则使用最大的图片.
如果没有在网页中指定图标路径, 将会在根目录搜寻以 apple-touch-icon... 和 apple-touch-icon-precomposed... 作为前缀的 PNG 图片. 假设现在有一个设备的图标大小是 57 x 57, 系统将按以下顺序搜寻图标:
- apple-touch-icon-57x57-precomposed.png
- apple-touch-icon-57x57.png
- apple-touch-icon-precomposed.png
- apple-touch-icon.png
主屏幕图标尺寸
iPhone 和 iPod (iTouch) 使用的图标尺寸:
- 57 x 57 pixels
- 114 x 114 pixels (高分辨率, iPhone 4 或以上使用)
iPad 使用的图标尺寸:
- 72 x 72 pixels
主屏幕图标效果
当我们将图片作为主屏幕图标, iOS 系统会自动为图标加上视觉效果:
- 圆角
- 阴影
- 高亮
例如, 一个 57 x 57 的网站图标如下:
当用户将网页添加到主屏幕, 图标会加上上述效果, 如下:
所以我们无需对图片做太多处理, 提供符合尺寸的正方形图片即可.
无论是将图标放在默认位置上, 还是指定图标路径, 如果图标带有 -precomposed 后缀 (如: apple-touch-icon-precomposed.png), 系统将不会为你加上高亮效果.
后话
本文参考了 Safari 开发文档的两篇文章:《Configuring Web Applications》和《Custom Icon and Image Creation Guidelines》. 主要摘要了关于主屏幕图标的一些内容, 如果发现错漏和疑问, 请留言反馈.
我也为这个博客添加主屏幕图标, 同学们可以在设备中打开试试效果.