在理想的世界中,您不需要为不同的操作系统分叉样式.然而,有时特定的设计需要它 - 特别是样式形式元素.
如果你真的需要,下面的脚本将在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)
注意:最好的办法是找到一个不需要分配操作系统的解决方案.
或 JavaScript
if (navigator.userAgent.match(/Macintosh/))
// do stuff for Macs here, such as load a stylesheet
Run Code Online (Sandbox Code Playgroud)
但实际上,这是一种不好的做法,您不应该这样做。