我有一些(测试)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 这样做?