如今主流浏览器(包括IE6)都支持css3的自定义字体(@font-face),所以能够尝试使用font来替换图片展现网站的各类icon。可是各浏览器对于字体文件格式的支持不尽一致。目前主流浏览器对于icon font的支持以下:css
使用font-face声明字体:html
@font-face { font-family: 'uxiconfont'; src: url('uxiconfont.eot'); /* IE9*/ src: url('uxiconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('uxiconfont.woff') format('woff'), /* chrome、firefox */ url('uxiconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('uxiconfont.svg#uxiconfont') format('svg'); /* iOS 4.1- */ }
具体这个配置是怎么加上来的,由于是运维同事帮忙配置的,方法不得而知,能够参考《解决firefox和IE9对icon font字体的跨域访问问题》,核心是增长“Access-Control-Allow-Origin:*”的响应输出。在找运维同事帮忙添加配置前,为了肯定方案可行性,利用Fiddler拦截http响应,添加了头部,具体能够参考《fiddler设置HTTP返回头的两种方式》,再次感觉了Fiddler的强大的功能。android
如今主流浏览器(包括IE6)都支持css3的自定义字体(@font-face),所以能够尝试使用font来替换图片展现网站的各类icon。可是各浏览器对于字体文件格式的支持不尽一致。目前主流浏览器对于icon font的支持以下:ios
使用font-face声明字体:css3
@font-face { font-family: 'uxiconfont'; src: url('uxiconfont.eot'); /* IE9*/ src: url('uxiconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('uxiconfont.woff') format('woff'), /* chrome、firefox */ url('uxiconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('uxiconfont.svg#uxiconfont') format('svg'); /* iOS 4.1- */ }
(1)firefox和IE9不支持对icon font字体的跨域访问。能够将字体文件放到同域的服务器上或修改服务器配置,详细见这里。web
(2)某些版本(16.0.912.75 m、15.0.874.106)的chrome,在搜索框得到焦点或在搜索框的菜单上滑动时,会产生遮盖logo的现象,其它浏览器未见此现象。chrome
这个与字体的宽度范围设置有关,以前logo的宽度以下,注意红框内虚线部分跨域
修改后的宽度:浏览器
对字体修正后,新版的一淘logo字体没有此现象产生。服务器
通过排查发现,形成此问题的缘由是用户的设置致使的。
此外,从Font Squirrel下载了几种字体,对比测试结论和上面一致:若是使用的ttf字体文件缺乏“0078”(unicode编码,字符x),XP上的safari会致使操做系统崩溃。所以在使用icon font时,要确保ttf字体文件含有“0078”。
(5)IE9 不支持将@font-face放到media query里。这里有对@font-face比较详细的测试状况。