针对Windows 7的条件CSS

时间:2012-08-30 10:43:42

标签: css conditional google-font-api

我可以在网上找到这样的大量讨论,但我找不到任何人特别针对我的问题:

我将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而不管浏览器...... ???

提前致谢!

5 个答案:

答案 0 :(得分: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";
}

我希望有所帮助!

答案 1 :(得分: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>

答案 2 :(得分:1)

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

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

if (cssua.ua.windows_nt === "6.1") {
    /* target Win 7 and Win 2008 R2 */
}

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

感谢大家快速解答!因为我安装了jQuery,所以我就是这样解决的:

$(document).ready(function (){
   if (navigator.userAgent.indexOf('Windows NT 6.1') > 0)
   {
        $('body').css({'font-weight':'300'});   
   }
});