我正在使用Google字体加载两种字体。由于它们在ie9以下的任何事物中看起来都非常可怕,因此我无视它们。这就是我的想法:

<!DOCTYPE html>
<!--[if lte IE 8 ]> <html class="ie8" lang="en-US"> <![endif]-->
<!--[if !IE]><!--><html lang="en-US"><!--<![endif]-->


然后在我的CSS中,我可以使用这样的东西:

h1{
font: normal 33px/50px 'Open Sans', 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif;


}

.ie8 h1{
font: normal 33px/50px 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif;


}

这可以解决尝试使用Open Sans的麻烦。如何加载实际的样式表。这样会好吗?

<!--[if !(lte IE 8) ]>
<link href="http://fonts.googleapis.com/css?family=Kite+One|Open+Sans:400italic,400,700" rel="stylesheet" type="text/css">
<![endif]-->


这将防止ie8和更低版本甚至加载CSS并防止浪费的下载-对吗?这是正确的语法吗?

有人推荐更好的方法吗?我尝试将所有字体分别加载,但它们仍无法在ie8和7中正常工作,因此这不是一个选择。

最佳答案

您必须使用类似这样的方法来排除IE8和更低版本:

<!--[if gt IE 8]>
    <link href="http://fonts.googleapis.com/css?family=Kite+One|Open+Sans:400italic,400,700" rel="stylesheet" type="text/css">
<![endif]-->

<!--[if !IE]> -->
    <link href="http://fonts.googleapis.com/css?family=Kite+One|Open+Sans:400italic,400,700" rel="stylesheet" type="text/css">
<!-- <![endif]-->


第一个仅加载IE9及更高版本的字体。第二个为所有非IE浏览器加载。

或者,您可以使用JavaScript加载字体。

10-02 11:58
查看更多