web-dev-qa-db-ja.com

Modernizr、html5shiv、ie7.js、CSS3 Pie。どちらをいつ使用しますか?

ドキュメントでHTML5とCSS3を使い始めたばかりです。これらの新しいタグとスタイルでInternet Explorerの速度を上げるにはJavaScriptの必要性を理解していますが、どちらをいつ使用するかわかりません!

私の計画は、html5shivとIE9.jsを使用して、HTML5タグと透明png(およびそれらが修正するその他の厄介なエラー)の世話をすることでしたが、ModernizrとCSS3 Pieが注目されました。

私の質問は、Modernizrを使用する場合、IE9.jsだけでなくhtml5shivの必要性も考慮しますか?または、これらも含める必要がありますか?もしあれば、重複は何ですか?

そしてCSS3 PieはModernizrや他の人が何をしないのですか?またはその逆?

皆さんの助けに感謝します。あなたが何をしているのか教えてください!?

49
stefmikhail

私はこれらすべてを数年間使用してきたこれらすべてについて幅広い経験を持っています。

Modernizr

HTML5shiv機能が含まれています。他にも多くの機能があります。他の機能を使用せずに使用しないと、ページの読み込みが遅くなりますが、必要な場合は価値があります。

HTML5shiv

非常に小さく、IEのhtml5要素を修正するだけです。

CSS3PIE

古いバージョンのIEでborder-radius、gradients、box shadowを使用できます。 IE 6.でPNGを許可することもできます。6.ページの読み込みに顕著な遅延を追加します。

ie7.js(およびie9.js)

多くのCSS3セレクター、最小幅と最大幅、複数のクラス、固定位置を提供します。必要に応じてpngを修正することもできます。物事をあまり遅くしないようです。

結論

私のアドバイスは次の2つのカテゴリに分類されます。

新しい(インターネットで2年間は新しい!)要素とCSS3セレクターを使用している場合は、ie9.js + html5shivを使用します。これは軽量で、IE6が何もサポートしていないことを覚えておかなくても、物事を進めることができます。

多くのCSS3を使用している場合、CSS3PIEはborder-radiusとbox-shadowを分類します。グラデーションのサポートは少し不安定に見えるので、代わりに常に代替画像を使用しました。 Modernizrを使用すると、サポートが異なるブラウザにさまざまなプロパティを簡単に配信できます。これは主に、ブラウザーがCSSトランジションとトランスフォームを備えているかどうかを判断するために使用しました。これは、画像スライダーやコンテンツカルーセルに役立つためです。カスタマイズツールを使用して必要な機能のみを含めることは価値があります。webformsには50のテキストボックスが数ミリ秒間表示されるので、必要ない場合は無効にする価値があります。

お役に立てば幸いです。

70
Rich Bradshaw

必要なものだけを使うことをお勧めします。使用している機能をサポートするブラウザーでアプリをビルドし、サポートする他のブラウザーで定期的にテストします。何かが正しく機能していない場合は、html5shiv、IE9.js、Modernizr、CSS3 Pieなどの適切な修正を見つけてください。 HTML5とCSS3のすべての新機能を1つのページですべて使用するわけではないため、存在するすべてのポリフィルライブラリを含める必要はありません。使用しようとしている機能に問題が見つかるまで待ってから、そのために必要なライブラリを探してみてください。

6
Brian Campbell

私は主にCSS3Pieを使用しています...しかし、今日の午後、ラップトップでI.E8を使用してテストしたところ、問題が発生しました... css3行を無効にしていた... css3pieコードを削除すると、サイトの速度が2倍になりました...その後、 css3のスローダウンについて議論している人々との投稿全体で...だから今は、IE7とIE8がborder-radiusとshadesを持つ別の方法を見つけるのに忙しいのです。

それを使用したい場合...それは非公式の修正なので、たくさんテストしてください

2
FrEaKi