如今主流瀏覽器(包括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比較詳細的測試狀況。