2

我可以在网上找到很多这样的讨论,但是我找不到任何人专门针对我的问题:

我将 Google Webfonts 用于网站。在除 Windows 7 之外的所有平台上,字体看起来都不错。但在 Windows 7 上,我需要调整某些字体版本的字体粗细。我可以成功地为 IE 9 使用条件语句,但我如何仅在 Windows 7 中实际定位 FF 和 Chrome?Win XP(IE 8及以下,还有FF、Chrome)的字体渲染很完美,Mac OS也很好(FF、Safari、Chrome)。

我发现了很多黑客,但没有一个会改变特定 Windows 版本的 CSS,而不管浏览器......???

提前致谢!

4

5 回答 5

3

没有 JavaScript 就无法完成。具体来说,您需要检查navigator.userAgent的值。如果它包含NT 6.1,则表示客户端正在运行 Windows 7。NT 6.0适用于 Windows Vista,并且NT 5.1是 Windows XP。不幸的是,使用纯 CSS 无法做到这一点。

一个样品:

var usAg = navigator.userAgent;
if(usAg.indexOf("NT 6.1") != -1) {
    //Windows 7, apply styles here, for instance:
    var el = document.getElementById("your_id");
    el.style.fontWeight = "700";
}

我希望这有帮助!

于 2012-08-30T10:49:51.377 回答
2

您必须使用 Javascript 来检测 Windows 7。下面是一个示例:

<script type="text/javascript">
  window.onload = function () {
    if (navigator.userAgent.indexOf('Windows NT 6.1') > 0)
      document.head.innerHTML += '<link rel="stylesheet" type="text/css" href="path/to/css" />'
  }
</script>
于 2012-08-30T10:46:04.910 回答
1

我推荐脚本http://cssuseragent.org/

以下是使用 cssua.js检测Windows 7的方法:

if (cssua.ua.windows_nt === "6.1") {
    /* target Win 7 and Win 2008 R2 */
}
于 2012-08-30T10:47:08.717 回答
0

请查看:http ://www.quirksmode.org/js/detect.html

使用 Windows 的 NT 版本,您可以定位 CSS。

于 2012-08-30T10:47:55.073 回答
0

感谢大家的快速解答!因为我安装了 jQuery,这就是我解决它的方法:

$(document).ready(function (){
   if (navigator.userAgent.indexOf('Windows NT 6.1') > 0)
   {
        $('body').css({'font-weight':'300'});   
   }
});
于 2012-08-30T11:07:19.657 回答