2012-08-30 59 views
2

我能找到這樣在網絡上進行了多次討論,但是我無法找到任何人格外針對我的問題:條件CSS針對Windows 7

我使用谷歌網絡字體的網站。在除Windows 7以外的所有平臺上,字體看起來都不錯。但在Windows 7上,我需要調整某些字體版本的字體重量。我可以成功使用IE 9的條件語句,但是我怎樣才能在Windows 7中實際定位FF和Chrome? Win XP(IE 8及以下版本,以及FF,Chrome)中的字體渲染非常完美,Mac OS也很好(FF,Safari,Chrome)。

我發現很多黑客,但沒有一個改變的CSS爲特定的Windows版本無視瀏覽器...... ???

在此先感謝!

+0

你想純粹通過CSS嗎? –

+0

當然,這個問題也可能發生在Windows Vista上......(但誰使用它?):) – jtheman

+1

您需要使用Javascript來獲取操作系統我很害怕:( –

回答

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"; 
} 

我希望幫助!

+0

Shure !!!我可以使用JS。作品!非常感謝! – jtheman

+0

@jtheman如果有效,請點擊此答案旁邊的綠色勾號將其標記爲已接受。 – Chris

+0

適用於Windows 8的'NT 6.2' – matb33

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> 
+0

謝謝。這是最接近我如何解決它!首先發送一個解決方案! – jtheman

+0

@jtheman哦,請檢查編輯歷史 – Chris

+0

@ Abody97對不起,我是新來的,我甚至不知道在哪裏可以找到「編輯歷史」,但亞伯拉罕回答似乎張貼在你的,但當然,你是對的...謝謝無論如何,沒有難過的感覺!:) – jtheman

0

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

採用windows的NT版本,你可以針對CSS。

+0

是的,我看到,但它似乎米難道只有Windows 7(和Vista)不僅僅是Windows平臺? – jtheman

+2

只需檢查appVersion或useragent是否包含:「Windows NT 6.1」,即Windows 7.所有用於Windows的NT版本可在以下網址找到:http://en.wikipedia.org/wiki/Windows_NT –

0

感謝大家快速回答!因爲我已經安裝了jQuery,所以我解決了這個問題:

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

太棒了! Windows 7中我的字體渲染問題的最清晰的解決方案。謝謝! – Ciges

相關問題