我可以在网上找到这样的大量讨论,但我找不到任何人特别针对我的问题:
我将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而不管浏览器...... ???
提前致谢!
答案 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'});
}
});