我正在使用从 icomoon.io 创建的图标字体。它有一小部分与一组 Unicode 字符相关联的有限字符。当这些特定字符输入到文本区域时,我需要显示这些图标。当输入任何其他字符时,尽管我希望它回退到 Tahoma。我的 CSS 看起来像这样。
@font-face {
font-family: 'icomoon';
src:url('fonts/icomoon.eot');
src:url('fonts/icomoon.eot?#iefix') format('embedded-opentype'),
url('fonts/icomoon.woff') format('woff'),
url('fonts/icomoon.ttf') format('truetype'),
url('fonts/icomoon.svg#icomoon') format('svg');
unicode-range: U+2600-2750;
font-weight: normal;
font-style: normal;
}
body {
font-family: Tahoma, icomoon;
}
textarea {
font-family: Tahoma, icomoon;
}
这在 Chrome 和 Firefox 中运行良好。常规字符出现在 Tahoma 中,我的特殊字符将出现在我的图标字体中。它适用于我的文档正文以及我的文本区域。
在身体的 IE 中,一切都是一样的。Tahoma 中的常规字符,图标字体中的特殊字符。然而,在 textarea 中,IE 正在回退到另一组符号而不是我的图标字体。非特殊字符出现在 Tahoma 中。
如果我反转字体系列中的字体......
textarea {
font-family: icomoon, Tahoma;
}
现在我的图标字体出现了,但 IE 回退到 Tahoma 以外的其他字体。
顺便说一句,Tahoma 只是一个例子,使用通用的 san-serif 做同样的事情。
这只是一个 IE 错误还是有办法修复这种行为,或者我缺少什么?
更新 我更加简化并制作了这个 JSFiddle。如果你在 Chrome 和 IE 中运行它,你应该会看到这个问题。