中文字体没有 font family 这个不知从何说起,既然叫字体,那么字体有关的术语都是通用的,W3C 从来没说是英文或者西文专属的。
这个明显就是前端的问题,设计给出了文字块,前端偷懒不想测试多个字体下的效果,不想考虑间距行高问题,所以喜欢直接写死固定字体;排版时不想考虑多分辨率,喜欢用绝对像素宽度,也不顾低分辨率用户出现横向滚动条的低劣体验。
前端虽然因为各种问题被折磨的很苦逼,但那都不是偷懒的借口。最不济,在父容器上留下适当的空间余量,就可以简单的避免不同字体的错位问题。
至于 web font,那是西文的,中文就没有可行的方案。另外如果这个就是趋势的话,那不如说 pdf 更是趋势,也不用纠结不同浏览器兼容了。
总之,网页的核心是文本流而不是排版效果,决定网页最终形态的是用户而不是 coder 或者 designer。
最后,让我们看一下 Google 是怎么做的吧。
代码: 全选
#gb{font:13px/27px Arial,sans-serif;height:30px}
#gbpm .gbmt{border-top:none;color:#000 !important;font:11px Arial,sans-serif}
.gbmpala,.gbmpalb{font:13px Arial,sans-serif;line-height:27px;padding:10px 20px 0;white-space:nowrap}
body,td,a,p,.h{font-family:arial,sans-serif}
.jhp input[type="submit"],.gssb_c input,.gac_bt input{background-color:#f5f5f5;background-image:linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-o-linear-gradient(top,#f5f5f5,#f1f1f1);border:1px solid #dcdcdc;border:1px solid rgba(0, 0, 0, 0.1);border-radius:2px;color:#666;cursor:default;font-family:arial,sans-serif;font-size:11px;font-weight:bold;height:29px;line-height:27px;margin:11px 6px;min-width:54px;padding:0 8px;text-align:center}
input{font-family:inherit}
.lsb{border:none;color:#000;cursor:pointer;height:30px;margin:0;outline:0;font:15px arial,sans-serif;vertical-align:top}
.gsfi,.lst{font:17px arial,sans-serif}
.gsfs{font:17px arial,sans-serif}
.lsb{font:15px arial,sans-serif;background-position:0 -343px;background-repeat:repeat-x;border:0;color:#000;cursor:default;height:30px;margin:0;vertical-align:top}
#knavm{color:#4273db;display:inline;font:11px arial,sans-serif!important;left:-13px;position:absolute;top:2px;z-index:2}
.gscp_d{color:#aeb8cb;cursor:pointer;font:21px arial,sans-serif;line-height:inherit;padding:0 7px}