簡體   English   中英

如何使用CSS或Javascript定位Mac

[英]How to target Mac with CSS or Javascript

我需要在樣式表中使用Mac的特定樣式。 最好的方法是什么?

在理想的世界中,您不需要為不同的操作系統分叉樣式。 然而,有時特定的設計需要它 - 特別是樣式形式元素。

如果你真的需要,下面的腳本將在html元素上設置一個類:

(function (flags, app) {
    os('Win', 'os-win');
    os('Mac', 'os-mac');

    if (document.documentElement) {
        document.documentElement.className += flags.join(' ');
    }

    function os (s, f) { if (app.indexOf(s) !== -1) flags.push(f); }

}([''], String(navigator && navigator.appVersion)));

您可以在html頭中執行此操作,這意味着在初始加載后頁面不會重新呈現。

然后,您可以使用mac特定的css規則,如下所示:

.os-mac #my-element { ... }

注意:最好的辦法是找到一個不需要分配操作系統的解決方案。

或JavaScript

if (navigator.userAgent.match(/Macintosh/))
    // do stuff for Macs here, such as load a stylesheet

但實際上,這是不好的做法,你不應該這樣做。

僅適用於mac:

 <script>(function(e,t){function n(n,r){if(t.indexOf(n)!==-1)e.push(r)}n("Mac","os-mac");if(document.documentElement){document.documentElement.className+=e.join(" ")}})([""],String(navigator&&navigator.appVersion))</script>

它就像johnhunter的解決方案一樣,只是它被縮小了。

navigator.platform屬性在OS X Safari,Chrome和Firefox上返回'MacIntel' (我手頭沒有任何PPC盒)。 如果我這樣做,我會檢查一下,並且可能在<BODY>標簽上放入一個名為.mac的類,並將其作為Mac特定內容的基礎。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM