font-family: 'hakuyoxingshu000Regular'
src: url('000.eot')
src: local('hakuyoxingshu000 Regular'), local('hakuyoxingshu7000'), url('000.ttf') format('truetype'), url('000.svg#hakuyoxingshu000') format('svg')
}
其中的“000”是你的字体名称,有个缺点就是要考虑到兼容性,以上三种写法分别对应的是:
.TTF或.OTF,适用于Firefox 3.5、Safari、Opera
.EOT,适用于Internet Explorer 4.0+
.SVG,适用于Chrome、IPhone。
{font-family:"微软雅黑";}或者{font-family:"Microsoft Yahei"}
如果在文件编码(GB2312、UTF-8 等)不匹配时会产生乱码的错误,
为此,在 CSS 直接使用 Unicode 编码来写字体名称可以避免这些错误。
使用 Unicode 写中文字体名称,浏览器是可以正确的解析的。
unicode编码的微软雅黑表示如下:
{font-family: "\5FAE\8F6F\96C5\9ED1"}
移动端html5手机网站如何定义字体font-family
很多懒友在使用自定义字体时候,很容易像PC端那样定义,其实安卓和ISO系统,对中文字体是不支持,所以定义以后看到效果不是直接定义字体效果,如果需要定义
大家会想到 @font-face 定义为微软雅黑字体并存放到 web 服务器上,在需要使用时被自动下载
@font-face {
font-family: 'MicrosoftYaHei'
src: url('MicrosoftYaHei.eot')/* IE9 Compat Modes */
src: url('MicrosoftYaHei.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('MicrosoftYaHei.woff') format('woff'), /* Modern Browsers */
url('MicrosoftYaHei.ttf') format('truetype'), /* Safari, Android, iOS */
url('MicrosoftYaHei.svg#MicrosoftYaHei') format('svg')/* Legacy iOS */ }
这个是webfont在css里面,如果想使用某个字体,但是又担心用户电脑上没有,就可以使用font-face属性从服务器上引用这组字体。具体怎么用,搜一下font-face就很清楚了。
其中不太明白的是\f309
这一段css表示:
在节点#twitter前面,插入一段内容("\f309")。
这个内容("\f309")是一个字符,f309是这个字符的16进制unicode编码。
不理解可以把 "\f309" 改成 "\6211" ,然后查看效果。事实上 content:"我" 和 content:"\6211" 的含义是一样的。
需要知道,计算机里面每个字符都有一个unicode编码,比如「我」的unicode是6211(16进制),而字体文件的作用是规定某个字符应该用什么形状来显示。
unicode字符集里面,E000 至 F8FF属于用户造字区。原本是空的,用户可以在字体文件里面随便定义这些字符的形状。我们所见的webfont icon,一般就选在这一部分。
要使用自定义字符,大致步骤是:
自己造一个字体文件,把e000所对应的字符形状画上新浪的icon,保存为常用字体文件格式。
在css中使用font-face引用这个字体文件,任意命名(不和已有的重复,比如叫myfonticon)
需要显示图标的地方定义font-family为myfonticon,content属性设为"\e000"。
造字可以用Fontographer 5,参考这篇文章webfont应用系列(二)如何制作图标字体?
其实网上已经有一大堆免费好用webfont icon,比如:
IcoMoon App
Ionicons: The premium icon font for Ionic Framework
Fontello - icon fonts generator