【发布时间】:2012-06-05 04:36:55
【问题描述】:
在 CSS3 中引入 @font-face 允许网页设计师使用在所有浏览器中看起来相同的字体。这就是我的想法,直到在jsFiddle 中使用以下代码进行尝试:
HTML:
<div>
The_Quick_Brown<br>
Fox_Jumps_Over<br>
The_Lazy_Dog
</div>
CSS:
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: url('http://themes.googleusercontent.com/static/fonts/opensans/v6/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff') format('woff');
}
div {
display: block;
width: 496px;
height: 86px;
font-size: 1.3em;
font-family: 'Open Sans';
font-style: normal;
margin: 0;
border: 0;
padding: 0;
background: cyan;
letter-spacing: 1.44em;
line-height: 1.44;
overflow: hidden;
}
这是 Firefox 12.0 的视图。注意'brown'中部分被遮挡的'o'、'dog'中'g'的位置以及底部边缘的下划线'_'。
这是来自 Google Chrome 19.0 的视图。
尽管为相同的字体明确设置了letter-spacing 和line-height,但为什么结果仍然不同?
【问题讨论】:
-
这可能与 div 的渲染有关,然后是其中的内容。 可能
-
字体渲染将取决于浏览器渲染它的感觉。因此,浏览器也会以不同的方式呈现
letter-space。我注意到,在 FF 中使用monospace字体时,您不会得到想要的结果,因为 FF 不正确支持monospace字体。这里可能是类似的东西吗? -
Chrome 中的字符似乎比 FF 中的高而窄。