浏览器是怎样根据 CSS 中是的 font

 我来答
育知同创教育
2017-02-13 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
有一点需要强调:
浏览器做的工作主要是根据 CSS 给出的 font-weight 值来匹配(match)字重(weight),并非根据 CSS 的 font-weight 值合成(synthesize)相应的字重。

但多数浏览器确实也会在粗体、斜体缺失的时候自己来合成,CSS 规范中也提到了这一点:
Although the practice is not well-loved by typographers, bold faces are often synthesized by user agents for faces that lack actual bold faces. For the purposes of style matching, these faces must be treated as if they exist within the family.
如果 700 不存在的时候可以合成,那 500、600 不存在的时候是不是也该合成仿粗体(faux bold)呢?显然,浏览器之间有分歧。
这张对比图体现的就是 Firefox 没有合成 600,直接用了 Georgia Bold(700),这应该是最合理的行为;而 Chrome 用 Georgia Regular 合成了 600。
但仿粗体的问题很大,「not well-loved by typographers」。而且从 Stack Overflow 的那张对比图还可以看出来:仿粗体不仅丑,此处它比真正的粗体还宽。

CSS2.1 和 CSS3 的相关规范都值得一看。

另外,指定「100, 500, 600, 700, 900」却没有「400」,这是很奇怪的做法。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式