我有一些(测试) HTML,比如:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Test Monospace</title>
<style>
tt { font-family: monospace; }
</style>
</head>
<body>
<h1>Test Monospace</h1>
<p>This is normal text</p>
<p><tt>This is monospaced text</tt></p>
</body>
</html>当我在IE中显示时,等宽文本使用Courier New而不是我在IE中配置的字体。如果我除了删除<style>...</style>块之外什么也不做,它会正确地使用配置的字体。
它只为IE做这件事,而不是FF或GC。Windows 7上的IE 9。
无论样式是在哪里配置的,包括单独的样式表还是使用样式属性,它都会这样做。
真正的问题是,使用以下样式指定font-family和font-size是解决浏览器等宽文本问题的关键:
/* monospaced sizes are horribly broken in browser default stylesheets */
code, kbd, pre, samp, tt {
font-family : monospace,monospace; /* Chrome (but note that this makes IE use "Courier New" for some strange reason, as does plain monospace.) */
font-size : 1em; /* Firefox, IE,Opera */
}有谁知道如何阻止IE这样做吗?
发布于 2013-02-05 16:54:40
monospace不是一种特定的字体系列。与serif或sans-serif完全一样,它们都是泛型系列定义。
font-family: monospace;只是告诉浏览器使用默认的"monospaced font",在本例中是Courier New。另请参见this resource。
编辑:
如果在CSS中省略了tt的font-family规则,IE9似乎会显示自定义设置的纯文本字体。请看这个小提琴:http://jsfiddle.net/sVCwd/1/
希望这能有所帮助。
发布于 2013-02-05 13:38:24
似乎在IE中,monospace的意思是“信使新”。更改“纯文本字体”的IE设置会影响某些元素的默认字体,但不会更改monospace的含义。在old discussion中,似乎知道自己说了什么的人写道:“(请不要评论衬线和等宽字体,这些字体可以使用工具,互联网选项来选择。它们与默认的CSS通用字体无关。)“
作为一名IE用户,如果你想改变monospace的含义,我想你需要在Windows注册表中为它找到一个条目(我在Windows7中找不到它-例如,我找不到IEFixedFontName )。
但是,如果您只想用您喜欢的等宽字体呈现一些元素(就实际效果而言,这基本上是相同的),您可以设置一个包含如下内容的用户样式表
code, kbd, pre, samp, tt, xmp, listing, plaintext {
font-family: Consolas !important;
}https://stackoverflow.com/questions/14698234
复制相似问题