ボディクラスにはOSとブラウザがあります。フォントはさまざまなOS /ブラウザ設定で同じように動作しないので、私はpixelperfectスタイリングに必要です。いくつかのグーグルと実験の後。私はこれを行うに考えることができる唯一の方法は、 ボディクラスとしてのブラウザとOS
var OSName="Unknown OS";
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
var agt=navigator.userAgent.toLowerCase();
if (agt.indexOf("opera") != -1) return 'Opera';
if (agt.indexOf("firefox") != -1) return 'Firefox';
if (agt.indexOf("safari") != -1) return 'Safari';
if (agt.indexOf("webkit") != -1) return 'Webkit';
if (agt.indexOf("msie") != -1) return 'Internet Explorer';
if (agt.indexOf("mozilla/5.0") != -1) return 'Mozilla';
が、私はそのことに非常にbeautyfulソリューションを考える...のindexOfを使用することでした。これを行う正規表現はありますか?または、これを行うより速い方法がありますか?
レンダリングは、インストールされているフォントとブラウザのバージョン(特にIE6対IE7対IE8対次のIE9)に依存しているので、ブラウザスニッフィングに本当に頼りにしたい場合は、とにかく失敗します。ピクセル完璧なサイトが必要な場合は、HTMLがこれには間違ったツールです。サイトを巨大なイメージにする必要があります。これが唯一の方法です(他にも多くの問題がありますが、完全なピクセルになります)。また、UAのなりすまし。 – Piskvor
私の問題は、ブラウザよりもOSが多いことです。 MacOSとWindowsのテキストレンダリングは非常に異なっています。私はいつも醜いフォントがウィンドウにどのように見えるか驚いています。しかし、少なくとも私は行の高さを制御することができますletterspacingとfontsize異なっている。しかし、デザイナーが経験したウェブデザイナーなら、ピクセルパーフェクトにすることは可能です。 – meo