我正在使用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加载字体。