如何使用CSS或Javascript定位Mac

Gro*_*m S 5 javascript css macos stylesheet

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

joh*_*ter 7

在理想的世界中,您不需要为不同的操作系统分叉样式.然而,有时特定的设计需要它 - 特别是样式形式元素.

如果你真的需要,下面的脚本将在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)));
Run Code Online (Sandbox Code Playgroud)

您可以在html头中执行此操作,这意味着在初始加载后页面不会重新呈现.

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

.os-mac #my-element { ... }
Run Code Online (Sandbox Code Playgroud)

注意:最好的办法是找到一个不需要分配操作系统的解决方案.


Del*_*ani 4

或 JavaScript

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

但实际上,这是一种不好的做法,您不应该这样做。