兼容PC手机端字体
各平台的主流字体支持情况
各系统的默认字体和常用字体:
| 系统 | 默认西文字体 | 默认中文字体 | 其他常用西文字体 | 其他常用中文字体 |
| Windows | 宋体 | 宋体 | Tahoma、Arial、Verdana、Georgia | 微软雅黑、黑体 |
| Android 4.0以下 | Droid Sans | Droid Sans Fallback | Arial | 无宋体、无微软雅黑 |
| Android 4.0及以上 | Roboto | Roboto | Arial | 无宋体、无微软雅黑 |
| iOS | Helvetica Neue | Heiti SC (黑体) | Tahoma(v7.0)、Arial、Verdana、Georgia | STHeiti(v7.0)、无宋体、无微软雅黑 |
| Mac OS X 10.6以下 | Helvetica Neue | STHeiti (华文黑体) | Tahoma、Arial、Verdana、Georgia | 宋体、无微软雅黑 |
| Mac OS X 10.6及以上 | Helvetica Neue | Hiragino Sans GB (冬青黑体简体中文) | Tahoma、Arial、Verdana、Georgia | 宋体、无微软雅黑 |
各移动设备系统支持情况:
| 五大类字体 | 安卓4.0 | IOS6.0 | WP8 |
| sans-serif(无衬线) | 支持 | 支持 | 支持 |
| serif(衬线) | 支持 | 支持 | 支持 |
| monospace(等宽) | 支持 | 支持 | 支持 |
| fantasy(梦幻) | 不支持 | 支持 | 不支持 |
| cuisive(草体) | 不支持 | 不支持 | 不支持 |
当然目前这只是移动设备各系统的支持情况,然而pc端个浏览器的支持情况也各不相同,如:
| 五大类字体 | IE系列 | Chrome | Firefox |
| sans-serif(无衬线) | 支持 | 不支持 | 不支持 |
| serif(衬线) | 支持 | 支持 | 支持 |
| monospace(等宽) | 支持 | 支持 | 支持 |
| fantasy(梦幻) | 支持 | 支持 | 支持 |
| cuisive(草体) | 不支持 | 不支持 | 不支持 |
上结论
废话就不做分析了,结合参考资料,给出我目前在用的font-family 代码吧,不一定最好,欢迎赐教。
下面非全局定义,而是针对特殊div 下的个性化定义:
1 |
/*微软雅黑*/ |
如果是用于全局项目中,那么可能会有所不同,这里直接引用参考资料的代码:
1 |
/*移动端项目*/ |
当然,如何排布font-family 根本是看需求是什么,这个仅仅是作为参考。
参考资料:
https://ruby-china.org/topics/14005
http://ued.ctrip.com/blog/?p=3589
http://typo.sofi.sh/
http://www.ruanyifeng.com/blog/2014/07/chinese_fonts.html
http://www.kendraschaefer.com/2012/06/chinese-standard-web-fonts-the-ultimate-guide-to-css-font-family-declarations-for-web-design-in-simplified-chinese/
转载 http://devework.com/font-family-chinese.html
兼容PC手机端字体的更多相关文章
- 表单界面的兼容PC手机端解决方案
就当写一篇随笔吧~上星期还在做加盟模块(兼容微信端),这星期已经加班做快递扫码模块(react+node),所以我感觉只有弹药备足了才能稍微轻松些应对各种需求.实话说在同个部门的大佬面前差距确实大,如 ...
- 判断网页打开浏览器类型,PC 手机端,微信浏览器,,,
//判断网页打开浏览器类型,PC 手机端,微信浏览器,,, <script type="text/javascript"> var browser = { versio ...
- CSS3手机端字体不能小于12号的方法
CSS3手机端字体不能小于12号的方法 <pre> .xiaoyu12fontsize{ -webkit-transform-origin: 0% 0%; -webkit-transfor ...
- ie兼容,手机端兼容问题
兼容性: 1.ie6,7不能兼容border-radius:若需要可以用图片的方式进行模拟. 2.ie6, 7中如果兄弟元素没有给左浮动,而本身给了右浮动,将会出现塌陷(也就是掉下去):如需要可以将右 ...
- js控制手机端字体大小rem
//得到手机屏幕的宽度 let htmlWidth = document.documentElement.clientWidth || document.body.clientWidth; if(ht ...
- 响应式有利于SEO还是pc+手机端分开url有利于SEO?
一早上都在查这个问题,大家都来讨论一下. 首先,可以肯定的是,如果公司推广重在谷歌,要做响应式.但是对于百度推广呢??虽然响应式是趋势,但是目前而言,对于百度怎样好呢
- JS判断PC 手机端显示不同的内容
方法一: function goPAGE() { if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android ...
- 第九十二节,html5+css3移动手机端流体布局,开篇知识
html5+css3移动手机端流体布局,开篇知识 将项目设计成移动端可访问的页面,项目采用的是流体布局.也就是宽度以百分比自适应的,因为手机的屏幕大小不一致 一.整体设计 首先 我们要了解一 ...
- h5实现手机端等级进度条
h5实现等级进度条 需求如下: 实现一个动画进度条,页面一打开实现一个进度条动画,因为App这个页面会经常改,所以没有使用原审Android或者IOS来实现,希望通过H5来做: 服务器端返回如下数据: ...
随机推荐
- React之Froms
In React, a <textarea> uses a value attribute instead. This way, a form using a <textarea&g ...
- Devexpress XtraReport 打印时弹出Margins提示解决办法
当我们用Dev的报表引擎做报表时,如果把边缘设置为0时会弹出提示. 可以通过代码 XtraReport.PrintingSystem.ShowMarginsWarning = false; 取消该提示
- Makefile 一点一滴(三)—— 尝试简单的变量替换
上一版的 makefile: TestCpp : ./debug/TestCpp.o g++ -o TestCpp ./debug/TestCpp.o ./debug/TestCpp.o : ./sr ...
- Scala的第一步
第一步:学习使用Scala解释器 开始Scala最简单的方法是使用Scala解释器,它是一个编写Scala表达式和程序的交互式“shell”.在使用Scala之前需要安装Scala,可以参考 Firs ...
- 作业七:团队项目——Alpha版本冲刺阶段007
今日进展:完善游戏主体代码. 今日安排:让游戏能运行起来.
- StoryBoard解惑
可以把StoryBoard看做是一组viewController对应的xib,以及它们之间的转换方式的集合.在StoryBoard中不仅可以看到 每个ViewController的布局样式,也可以明确 ...
- 实验二 简易版C语言文法
<程序>::=begin<语句串>end <语句串>::=<语句>{;<语句>} <语句>::=<赋值语句> < ...
- hard
硬盘电路板将信号转化为电压高低,电压控制电脉冲被送到磁头,产生一个电磁.磁盘和磁头很紧密.读写都是不断扫描磁盘的过程.有操作系统负责控制文件的组织,可能在不同的块中.
- JSP自定义标签
在JSP网页编程中,我们通常不满足于jstl或其他的框架,我们也可以自己写属于自己专用的标签. 在这里介绍一下表格中展示JavaBean的自定义标签的使用 第一步:写一个父标签,用来显示获取数据 新建 ...
- Java并发编程学习笔记(三)——对象的组合
重要概念: 1.在设计线程安全类的过程中,需要包含以下三个基本要素: (1)找出构成对象状态的所有变量. (2)找出约束状态变量的不变性条件. (3)建立对象状态的并发访问管理策略. 2.