2019独角兽企业重金招聘Python工程师标准>>>

by zhangxinxu from http://www.zhangxinxu.com
本文地址:http://www.zhangxinxu.com/wordpress/?p=874

浏览器默认字体

众所周知,浏览器字体默认的设置为“宋体/simsun字体 16像素”,例如Chrome浏览器下:

CSS 中设置的字体

考虑到兼容性,我们总会在CSS中队字体进行一些设置,这类设置往往设置在body标签上,无论是人人网,腾讯网,淘宝网,开心,新浪,网易等都是如此以下为各个大型网站的body的字体设置:

body{font-family:Tahoma,Verdana,STHeiTi,simsun,sans-serif;}

其中simsun为中文字体

body{font-family:"宋体","Arial Narrow";}
body{font:12px/1.5 tahoma,arial,sans-serif;}
body{font-family:'lucida grande',tahoma,helvetica,arial,'bitstream vera sans',sans-serif;}

新浪微博:

html{font-family:Arial,Helvetica,sans-serif,"宋体"}
body{font:12px/20px Tahoma,Verdana,Arial,sans-serif;}
浏览器默认字体与CSS 字体间的关系

要说关系,很简单,就是CSS字体的级别大于浏览器默认字体的级别但是,在中国,作为中文网站,中文用户,中英文之间的差异使得故事的发展变得生动有趣了,这也是本文的所讨论的关键所在

咱们不急,今天荷兰和日本对的比赛反正耗得很,听我娓娓道来~~

应该都知道,浏览器的默认字体是可以更改的,例如IE浏览器,见下图:

或者是Firefox浏览器,工具 -> 选项 -> 内容,见下图:

我们现在将默认字体由“宋体”改成“微软雅黑”,再看看第二部分提到了这些网站页面的字体表现:

下图全部截自Firefox3.6浏览器下,在IE浏览器下修改默认字体也会得到类似的结果,您可以自己试一试,下图顺序与第二部分出现的网站列表是一一对应的,图上已标明了浏览器默认字体“微软雅黑”是否起作用的情况

可以看到,人人网,淘宝网以及腾讯网下,页面上的字体依然长得就像是“宋体”一样,也就是说,修改浏览器的默认字体对其一点效果都没有;但是在开心网,新浪微博,白社会(以及我的博客)这些页面上,字体的表现就是微软雅黑效果为什么会有这些差异呢?

究其原因,不难理解。在本文的第二段落,将上述网站最顶级标签的font属性都罗列了出来,这是有原因的仔细观察相应网站的body/html设置的font/font-family属性,相信您会找出表现差异的原因了——凡是浏览器默认字体不起作用的页面都是在CSS中设置了中文字体的页面例如,人人网的simsun字体,腾讯网的“宋体”,淘宝网的“宋体”,只要在font/font-family属性中出现了对中文字体的设置,那么浏览器的自定义的默认字体就会失效,不起作用OK,这里还有个看似“例外”的情况,就是新浪微博的页面,其html标签的CSS字体样式是:html{font-family:Arial,Helvetica,sans-serif,"宋体";},其也设置了含“宋体”的字体属性啊,为何页面上的表现依然是“微软雅黑”的效果而与腾讯网淘宝网不一样呢?我之前就提过新浪微博的页面重构的水准与其新浪网的地位不匹,从这个font-family属性的设置可见一斑我们在设置font-family属性是会在最后带有sans-serif或是serif,其分别表示“无衬线字体”和“衬线字体”,这个东东不是厕所里的屁屁——随便放的,我个人认为,其作用为终结,终结font-family属性,也即是说跟在sans-serif/serif后面的字体都是聋子的耳朵——摆设所以新浪微博页面字体设置html{font-family:Arial,Helvetica,sans-serif,"宋体";}中的“宋体”压根就是多余的,永远也不会起作用,只会加大CSS文件尺寸的冗余代码如果将“宋体”调至”sans-serif”的前面,那么情况就会大不一样。

与用户体验与页面可用性之间的关联

我们为什么要在body中设置font-family属性,其一就是在于统一,也就是所谓的兼容性,其二就是让英文字符更好看,“宋体”下的英文字符看多了会让人觉得蹩脚的……所以我们会设置font-family:arial; 或是font-family:Tahoma;这是需要的对于中文站点,这类英文字体的设置依旧留下了中文的突破口要知道,这些英文字体对中文文字的表现是没有影响的(这里仅指单纯的文字表现,对齐、下划线等问题不予考虑),英文字体仅对英文字体及一些字符有影响,中文字体依旧勃起,处于真空的裸露的状态,这种裸露直接裸给了浏览器,也就是说英文字体下的中文字体仅受浏览器的默认字体影响,于是这就牵涉到了一个页面可用性的问题

有一部分用户,虽然是一小部分,但是他们喜欢使用自定义的中文字体,拿我身边的事情举例吧我有几个同事就喜欢“微软雅黑”字体,他就是把浏览器的默认字体设成了“微软雅黑”。根据他的口述,在他看来,访问一个网站,发现这个网站的字体不是他自定义的字体,他会有些许的挫败感,如果一个网站可以接受他修改的字体,以“微软雅黑”的形式显示,其对这个网站的认同感也会提升由于“英文字体下的中文字体仅受浏览器的默认字体影响”,这类仅仅设置了英文字体的网站在我的这几个同事心中的分值无形中就提高了,而强制了中文字体的网站分值会下降

我们可能仅仅是忽略而已,仅仅是不知道而已!对于中文网站,我们的用户绝大多数是中文用户,在页面上设置中文字体属性(宋体/simsun)会降低页面的可用性和潜在的用户体验如今的web,好的产品往往是可以满足用户的个性需求和自主能动性。页面上中文字体的设置会扼杀浏览器的默认中文字体,无法让用户以自己喜欢的中文字体显示。所以,我个人的倾向是,不要再CSS中,至少在body/html这类标签上设置中文字体

我本想把本文的题目定为“不要再CSS中定义中文字体”,这样的题目更有噱头,但是……(我要转折)因为我突然想到,有些网站就是不让你使用您自己定义的字体,比如网站可能会使用“微软雅黑”与“宋体”来区分中文与标题,如果网站中文字体可以提过浏览器自定义,例如“微软雅黑”,则标题与正文字体一致,反而增加了阅读浏览负担,降低了用户体验

所以,到底哪种做法更好,要看实际的情况,合适的往往是最好的。但是,您需要知道:在CSS中设置中文字体会让中文用户无法通过修改浏览器默认字体来按照自己的需要浏览网页至于具体您会怎么做,那就看您自己了。

//zxx:日本队挂了~~

原创文章,转载请注明来自张鑫旭-鑫空间-鑫生活 [http://www.zhangxinxu.com ]
本文地址:http://www.zhangxinxu.com/wordpress/?p=874

转载于:https://my.oschina.net/u/929092/blog/111921

页面可用性之浏览器默认字体与CSS 中文字体相关推荐

  1. 页面可用性之浏览器默认字体与CSS中文字体

    一.浏览器默认字体 众所周知,浏览器字体默认的设置为"宋体/simsun字体 16像素",例如Chrome浏览器下: 二.CSS中设置的字体 考虑到兼容性,我们总会在CSS中队字体 ...

  2. css的中文名称是,CSS 中文字体的英文名称

    宋体 SimSun 黑体 SimHei 微软雅黑 Microsoft YaHei 微软正黑体 Microsoft JhengHei 新宋体 NSimSun 新细明体 PMingLiU 细明体 Ming ...

  3. Unicode – CSS中文字体转编码

    为了避免产生乱码,对页面造成影响.CSS中文字体建议使用 Unicode 中文名 英文名 Unicode Unicode 2 Mac OS 华文细黑 STHeiti Light [STXihei] \ ...

  4. html布局文字设置,div css布局中css中文字体设置

    在HTML网页结构中,会用到中文字,而中文字有得多中笔墨体,有的开发者在自身电脑中下载并安装不少摩登字体.而这些中文字体CSS设置装备摆设提倡? 1.不克不及随意CSS设置装备摆设本人安装中笔墨体 假 ...

  5. css中文字体乱码解决方案:

    把css编码和html页面编码统一起来.如果html页面是utf-8.css.js也统一成utf-8编码.如果html页面是gb2312.css.js也统一成gb2312编码.UTF-8和GB2312 ...

  6. CSS中文字体 Unicode 编码表

    一.简介 CSS(层叠样式表)是用于样式化Web页面的强大工具,它可以用来控制页面的外观和行为.在CSS中,可以使用多种字体来设置文本的外观和格式,包括中文字体.中文字体的实现需要引入相应的字体文件, ...

  7. 57套古风字体462套英文字体79套中文字体

    [@2014-5-5] 记录一下自己的脚印:57套古风字体462套英文字体79套中文字体 下载地址:http://www.xiaomengku.com/topic?id=511 这里还有跟" ...

  8. HTML页面引入字体@font-face CSS指定字体从远程服务器下载

    @font-face @font-face CSS at-rule 指定一个用于显示文本的自定义字体:字体能从远程服务器或者用户本地安装的字体加载. 如果提供了local()函数,从用户本地查找指定的 ...

  9. 避免css中文字体在浏览器中解析成乱码

    许多童鞋在写CSS的时候,设置中文字体常常使用中文字符,例如font-family:"黑体",这样我们在浏览器中看到的是什么样子的呢 ? 如果不想自己写的界面在浏览器字体声明上有异 ...

  10. html字体修改微软字体大小,css设置字体(css怎么调整字体大小)

    一般字体的设置包含:字体,字体大小,字体颜色 html设置字体的话有很多标签去设置1. h1,h2,h3,h4,h5,h6 标题 其中 定义最大的标题. 定义最小的标题.2. 采用. 用Css设置整个 ...

最新文章

  1. 【原】开源——基于文件驱动的站点开发
  2. 【CSS 】动画animation
  3. Java ObjectStreamField getName()方法与示例
  4. 在只需要一个指定正确的参数的情况下如何防止传入其他干扰的参数
  5. Being a Good Boy in Spring Festival【博弈】
  6. Server系列18:如何通过组策略赋予domain user受限网络管理权限?
  7. GDAL插值使用示例
  8. python︱matplotlib使用(读入、显示、写出、opencv混用、格式转换...)
  9. 每日一课(12/75)操作数的寻址方式
  10. nginx伪静态php如何配置文件,nginx实现thinkphp伪静态的配置例子
  11. ubuntu 下openkore的运行
  12. [手机Linux]一,线刷小米6到开发版,获取root权限
  13. java当前时间增加一小时怎么写
  14. IDEA导入Eclipse的快捷键KeyMap
  15. Egret Engine(二十六):MovieClip序列帧动画
  16. 银行理财子与券商合作探讨(四):券商银行理财子数字化合作蓝图
  17. JS将字符串转数组、转数字、转对象;将数组转字符串、转对象;将对象转数组、转字符串
  18. 槐香拂过,你如期而至
  19. 【优化求解】粒子群优化和重力搜索算法求解MLP问题matlab源码
  20. 华为2288HV5使用U盘安装ESXI6.7.0

热门文章

  1. 模板题——质数、素数、约数
  2. ENVI扩展工具——混合像元分解FCLS
  3. ArcGIS操作小技巧(三)之License service不能启动的解决方法
  4. Call for Presentations!Flink Forward Global 2021 议题征集ing
  5. 安卓直播详细教程(一)-----bilibili开源播放器
  6. mysql对本地文件的读取_MySQL之文件读取
  7. 性能测试--jmeter中的察看结果树【7】
  8. python配置文件模块_Python解析配置文件模块:ConfigPhaser
  9. java打包----“Artifacts”
  10. go语言应用知识:-1-输入项目信息,获取相应内容打印