css – IE7在sans-serif字体中显示商标实体为serif

我有一个使用Google的
Open Sans字体的网页.该网页还使用HTML实体作为商标符号(& trade;).

在Internet Explorer 7中,此实体不使用Open Sans显示,它以serif字体显示:

这是一个重现问题的简短页面:

<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Open+Sans:400,700" />
        <!--[if lte IE 8]>
            <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Open+Sans:400" />
            <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Open+Sans:700" />
        <![endif]-->
        <style type="text/css">
        * {
            font-family: "Open Sans", Arial, sans-serif;
        }
        </style>
    </head>
    <body>
        <h1>This is trademarked&trade;</h1>
        <p>This is trademarked&trade;</p>
    </body>
</html>

使用实体&#8482;导致同样的问题,就像使用literal™一样,但奇怪的是& reg;实体正确显示.

无论如何要让这个实体在Open Sans中呈现,或者如果失败,以无衬线字体呈现?

最佳答案 Open Sans& Arial没有实体,因此您的浏览器将默认为它们的系统字体.尝试在您的阵容中添加一些替代系统字体:

  font-family: "Open Sans", "Helvetica Neue", Helvetica, Calibri, Arial Unicode MS, Lucida Sans Unicode, DejaVu Sans, FreeSans, sans-serif;
点赞