有没有办法根据用户是否具有某种字体(最好没有 javascript)来更改 HTML 文件中显示的文本?
例如,如果我想显示一个字体“AlphaIcons”:
<span>A</span>
否则我想显示:
<span><img src="apple.png">Apple</span>
(在这种情况下,将字体提供给没有它的用户不是一种选择)。
已编辑***查看这篇文章 - 它可能会引导您朝着正确的方向前进: Changing Body Font-Size based on Font-Family with jQuery
在第一个答案中,它提供了一个可以检测字体的新库。如果您可以给它一个真/假布尔值,那么您也许可以在图像交换中写入。
我相信 CSS 已经可以为您做到这一点,使用 font-family 优先考虑您要使用的字体。如果它在用户系统上找不到第一个字体,它会转到下一个。
http://www.w3schools.com/css/css_font.asp
像这样使用css:
span {
font-family:"AlphaIcons", "Times New Roman", Times, serif;
}
还是我错过了什么???
如果您想使用 javascript 制作一些更高级的字体,请查看 Google 的 webfont 库: http ://www.google.com/webfonts
您无法使用纯 HTML 或 CSS 进行检查。你需要Javascript 来处理这个问题。
执行以下步骤:
HTML
<span data-image="apple.png">A</span>
Javascipt
// check font face compatibility
if (!Modernizr.fontface) {
// replace each span content with the right image
$('span').each(function(){
// get the image
var image = $(this).data('image');
// insert this image into the span tag
$(this).html('<img src="'+image+'" />');
});
}
数据属性只是许多可能的解决方案之一。只是一点提示。
一般来说,没有方法可以检查没有 Javascript 的字体的可用性。