В идеальном мире вам не нужно форкать стили для разных ОС. Однако иногда это требуется для конкретного дизайна, особенно с элементами стиля.
Если вам действительно нужно, следующий скрипт установит класс для элемента 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 { ... }
Примечание. Лучше всего найти решение, не требующее разветвления для ОС.