`
魏祖清
  • 浏览: 176641 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

默认Web字体样式

阅读更多
通常用户看到的页面的样式会受到三层控制,第一层是浏览器的默认样式,第二层是网页定义样式,第三层是用户自定义样式。和CSS一样,后面的优先级高于前面的,也就是说网页定义样式可以覆盖浏览器的默认样式,而用户自定义样式优先级最高。实际情况是虽然浏览器都或多或少提供了用户自定义样式的功能,但是极少数会有用户去自定义,一般用也是高级用户。而浏览器默认的样式往往在不同的浏览器、不同的语言版本甚至不同的系统版本都有不同的设置,这就导致如果直接利用默认样式的页面在各个浏览器下显示非常不一致,于是就有了类似YUI的reset之类用来尽量重写浏览器的默认设置保证各个浏览器样式一致性的做法。

拿字体来说,各个浏览器默认的字体种类、字体大小和字体行高都不一样,比如IE8的中文版在Windows XP下显示网页时默认字体是宋体,而英文版肯定不会如此。所以我们需要统一设置默认的字体样式,以便实现一致的显示效果来保证设计的一致性和提高开发效率。

以后准备使用如下默认字体样式:

body{
  font: 12px/1.5 arial;
}字体:arial
我们页面的绝大部分内容字符都是中文,毫无疑问目前为止在网页上最常用也是最通用的显示中文的字体是宋体,但是宋体在显示英文、数字和英文符号时过于糟糕,比如?字符,所以我们一般期望通过CSS来实现用更好的字体样式来显示它们,然后用宋体来显示中文和中文符号。之所以选择arial是因为:

1.Windows和Mac都预装了这款字体,应该是使用最广泛的网页字体了。它的潜在对手tahoma和helvetica就没有这么幸运了。
2.视觉设计的专业人士可能会认为在Windows中使用tahoma、在Mac中使用helvetica更好,比如淘宝的默认字体样式是font: 12px/1 Tahoma, Helvetica, Arial, "\5b8b\4f53", sans-serif;
这是一个很不错的选择,但是你也会发现Google、YAHOO、Youtube、Bing甚至MSN的新版都使用arial作为第一默认字体。所以从美观和可读性上来讲arial应该是完全可以接受的。
3.一般情况下设置font-family都会在最后设置通用字体族以保证其安全性,比如Google的设置为font-family:arial,sans-serif;,但是至少在非中文版的Win7下当编码是GBK时,IE8会因sans-serif来渲染宋体,导致字体出现变形,这就是为什么淘宝需要在sans-serif前加上宋体而Google无需这样做的原因。
4.因为中文字体的选择非常有限,所以目前所有的主流浏览器都设置使用宋体来显示中文。Baidu的首页和搜索结果页使用font-family:arial;可以从侧面说明这样做的安全性。可能有人注意到Firefox中国版默认显示的中文字体是微软雅黑,这是因为谋智网络擅自修改了用户自定义样式,不允许网页的样式覆盖浏览器设置的样式。也是由于类似的情况,我们要弹性设计网页非常重要。
使用英文字体作为第一默认字体会导致的问题之一就是中英文以及符号混排时的对齐问题、通过设置行高和hasLayout能解决绝大部分情况,但是都不会很完美,如果把字体改成“宋体”能彻底的解决问题。很明显,这个问题只出现在IE上。所以,如果你的网站很少使用英文、数字和英文符号,那么直接设置{font-family:\5b8b\4f53;}也是很合理的选择。

大小:12px
1.12px是宋体能显示的极限,虽然微软雅黑能显示更小的字体,但目前的应用环境尚未成熟。由于宋体基本上是目前显示中文唯一的通用Web字体,所以12px成为最常用的字体大小。我们当然可以依据产品的需要来修改这个默认值。
2.不用考虑基于字体大小(em)的设计。
3.在Chrome3.0之后的中文版中,字体大小最小值是12px,比如你设置最小字体为10px,最后也变成12px。
行高:1.5倍
1.这是一个经验值,不同的产品对这个值要求可能不同,但我们一般会设置最常用的为默认值。比如YUI的font中是font:13px/1.231 arial,helvetica,clean,sans-serif;即字体大小默认值是13px,行高是13*1.231=16.003px,默认的行高是默认字体的1.231倍。对于中文来说,常用的字体大小12px、14px、16px、18px等偶数大小,在IE6和IE7设置其行高也为偶数能解决一些特殊情况下的字体对其问题。
2.在IE6和IE7中,行高值必须大于字体的2px才能保证字体的完整显示或当其作为链接时能有效显示下划线。
3.设置line-height时,注意不要使用单位(包括%在内),因为子节点会继承经过运算后的line-height值,所以当使用单位后浏览器会把line-height计算成第一次定义的绝对值,而不会随着字体大小的变化而变化,而无单位的数值表示是所在容器的font-size的倍数,所以设置为无单位的数值是最佳选择。
4.深入CSS 行高非常有利于理解line-height,值得一读。
性能和效率
1.大部分平台都有arial,减少浏览器的查找时间。
2.代码最少,书写方便。arial基本上是名字最短的字体了,可以节约CSS的大小。
3.所有的字母都小写,目前Google就是这样做的,好处是既可以编写更快也能提升Gzip压缩的效率。
4.中文最好用unicode表示,比如使用宋体是{font-family:\5b8b\4f53;},使用微软雅黑是{font-family:\5fae\8f6f\96c5\9ed1;},这样的好处是避免编码问题,同时能得到所有的主流浏览器的支持。
5.使用正确的字体种类写法,避免使用引号,这样可以缩小CSS的大小。中文字体可以按上一条方式来编写。
未来
1.通过对中英文及符号混排的测试,我发现微软雅黑其实表现相当不错,包括英文数字和英文字符以及在IE6和IE7的显示效果上,但唯一的遗憾是在XP下如果安装了微软雅黑字体的用户没有打开“使用屏幕字体的边缘平滑”选项的话,在Firefox、Safari和Opera、特别是IE6下会非常模糊难以辨认。针对这个问题目前并没有很好的解决方案,所以只有等到IE6使用比率非常小的时候才可能正式的使用它。或许需要到2014年,XP死掉的时候。
2. 虽然很早就有了@font-face,但是浏览器的支持、网速和商业问题,导致它很少被应用。最近关于字体的好消息是Firefox3.6将支持Web Open Font Forma。关于Web字体未来的相关信息可以看Web 字体的未来、关于 Web 字体:现状与未来和再谈 Web 字体的现状与未来。
分享到:
评论

相关推荐

    网页制作 默认Web字体样式

    通常用户看到的页面的样式会受到三层控制,第一层是浏览器的默认样式,第二层是网页定义样式,第三层是用户自定义样式。和CSS一样,后面的优先级高于前面的,也就是说网页定义样式可以覆盖浏览器的默认样式,而用户...

    Web前端与移动开发之css字体属性.txt

    4.font-style 字体样式 normal正常(不倾斜)/tialic斜体 font-style主要将倾斜的标签em i改为不倾斜 5.字体的复合属性(简写方式 节约代码) body { font: font-style font-weight font-size/line-height ...

    基于jquery实现的web版excel

    水平位置,垂直位置,字体粗细,斜体,字体大小等样式,单元格设置自动换行功能,默认为超出部分显示省略号,支持表结构修改的撤回功能(待完善),支持单个单元格的样式复制,支持选中单元格,鼠标左键选中复制。...

    pxweb-style:PX Web界面的基本样式

    PxWeb样式 重写PX Web默认样式。 变更日志 2021-03-30初始设置。 2021-03-31基本样式和优化的字体加载

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    1.2.4 Android移动Web项目开发的三种解决方案:Native, Web和Hybrid优缺陷分析 4 1.2.5国内外应用现状 6 1.2.6 研究现状总结 7 1.3研究目标与内容 7 1.3.1多窗口浏览器模式的实现机制 7 1.3.2跨域交互即缓存处理方法...

    asp.net调用系统设置字体文本框的方法

    本文实例展示了asp.net调用系统设置字体文本框的方法,是进行web开发中很实用的技巧。具体实现步骤如下: 一、调用系统字体文本框 ...二、用FontDialog弹出的文本框设置字体样式和大小 FontDialog fd

    Web前端高级作业一.txt

    每一个属性由属性加冒号加属性组成,样式之间用分号隔开 2.有各种选择器 2.1基本选择器 标签选择器,通过标签加大括号来选择 类名选择器,通过点加类名来选择 id选择器,通过#加id名来选择 2.2组合选择器 ...

    基于jquery实现的web版excel源码,包含excel的基本功能.zip

    支持选中单元格输入文字,多个单元格设置字体,颜色,单元格背景色,水平位置,垂直位置,字体粗细,斜体,字体大小等样式 单元格设置自动换行功能,默认为超出部分显示省略号 支持表结构修改的撤回功能(待完善) ...

    HTML5与CSS3基础教程(第8版)高清文字

    13.5 使用Web字体设置文本样式 266 13.6 为Web字体应用斜体和粗体 269 13.7 使用Google Fonts的Web字体 275 第14章 使用CSS3进行增强 278 14.1 浏览器兼容性、渐进增强和polyfill 278 14.2 理解厂商...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    4.3.6 字体 4.3.7 焦点 4.3.8 默认按钮 4.3.9 可滚动面板 4.3.10 处理Web控件事件 4.4 List控件 4.4.1 Selectable列表控件 4.4.2 BulletedList控件 4.5 输入验证控件 4.5.1 验证控件 4.5.2 ...

    x-spreadsheet:基于 Web 的 JavaScript(画布)电子表格-开源

    这是一个建立在 Web(es6) 画布上的轻量级 Excel 开发库。 这些参数在第一次实例化时加载,也可以稍后设置,但建议提前修改并加载您需要更改的更改。 可以调整默认显示的列数len,AZ,每列默认宽度,左序列列默认宽度...

    CSS3鼠标悬停文字动画倾斜效果

    效果描述: 当鼠标悬停在图片上的时候倾斜显示多种透明的小动画效果 ... 1、将head中的样式复制到你的样式表中 2、将body中的代码部分拷贝过去即可 (CSS3特效,不支持低版本浏览器)

    div+css有实例,易学易懂

    6.4.4 字体的样式 6.4.5 字体的变形 6.4.6 字体属性的简写 6.5 文本的修饰和链接 6.5.1 文本的修饰 6.5.2 链接属性详解 6.5.3 使用链接的顺序 6.5.4 链接的继承性 6.5.5 cursor 属性 第7 章 CSS 容器属性 7.1 什么是...

    Goobric Web应用程序启动器「Goobric Web App Launcher」-crx插件

    V1.31轻微修正了与数字评分中的零分有关的问题V1.32 UI的美学和可用性改进-较小的字体,更紧密的间距,更好的滚动行为V1.34轻微调整了ui行为V1.35修正了允许Doctopus分配的问题将从文件夹视图V1.36中的专栏评级的...

    超经典的Web前端与移动开发基础视频 Web前端基础开发视频教程 移动开发基础视频教程

    45前端开发基础视频-行内样式和浏览器默认样式.avi 46前端开发基础视频-引用外部CSS文件和嵌入CSS样式.avi 47前端开发基础视频-import导入CSS样式详解.avi 48前端开发基础视频-CSS语法及简单CSS属性.avi 49前端...

    cclock:web网路时钟,可追踪学校上课时间

    CClock代表倒计时时钟或类时钟。 它的目的是倒计时每个类块中剩余的时间,它也提醒您直到下一个类块开始之前的剩余时间。... 更改字体时,请记住更改主体中定义的字体,并将适当的字体样式表链接到index

    企业WAP2.0网站管理系统

     ●字体样式可以设置粗体斜体、粗体、下划线,以及段落的对齐方式,UBB标签可以重复嵌套。  ●自动获取数据库的文章内容,并且过滤HTML元素,文章自动进行分页,分页样式和字数均可自定(通过编辑前台代码)。  ...

    ASP.NET4高级程序设计(第4版) 3/3

    4.3.6 字体 111 4.3.7 焦点 12 4.3.8 默认按钮 113 4.3.9 可滚动面板 114 4.3.10 处理Web控件事件 114 4.4 List控件 116 4.4.1 Selectable列表控件 117 4.4.2 BulletedList控件 120 4.5 输入验证...

Global site tag (gtag.js) - Google Analytics