0

Paul Irish の Web サイトに示されているコードのように、IE ステートメントに追加されたクラス (lt-ie9、lt-ie8、lt-ie7 など) のすべての css 修正の概要があるかどうかを確認しようとしています。http://www.paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/

そのような要約がない場合、実際にブラウザをテストした後、css の問題を修正しますか (書籍やオンラインで見つけた修正を追加しますか?)

<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if gt IE 8]><!--> <html class=""> <!--<![endif]-->
4

3 に答える 3

1

多くの場合、IE 固有のクラスは必要ありません (または必要ありません)。特定のブラウザーまたはバージョンに固有のコードを記述することは、今日の Web では悪い習慣と見なされています。ほとんどの場合、ブラウザ自体をチェックするよりも、必要な機能がサポートされているかどうかを検出する方が適切です。

これには多くの利点があります。主なものは、そこにあるすべてのブラウザー機能と、どのブラウザーがそれらをサポートしているかについて学ぶ必要がなくなることです。また、特定の機能を持たない別の古いブラウザーを使用して誰かがサイトにアクセスした場合でも、コードは引き続き機能することを意味します。ただし、コードをよりクリーンにし、将来の作業を容易にするという利点もあります。引用したコードと同様のことを行うModernizrというライブラリがありますが、ブラウザでサポートされている機能に応じてクラスを追加します。実際、あなたが引用したコードを書いた同じポール アイリッシュは、Modernizr の主任開発者でもあります。

http://CanIUse.comまたはhttp://QuirksMode.org/css/で、さまざまなバージョンのさまざまな機能に対する IE のサポートを確認できます。CanIUse は新しいブラウザー機能をチェックするのに適していますが、Quirksmode はより細かい詳細があるため、基本的な CSS 機能をチェックするのに適しています。

古い IE バージョンにはない多くの機能は、「ポリフィル」スクリプトを介して実装できます。たとえば、http://CSS3Pie.com/border-radiusは、CSS グラデーションやその他の機能のサポートを古い IE バージョンに追加するスクリプトです。多くの場合、単純にブラウザーに任せて、不足している機能を無視する方がよいでしょう (たとえば、角が丸いのはいいですが、角がなくてもサイトの動作が停止することはありません)。すべてのブラウザーでそれらをサポートする必要があります。試すことができるポリフィル スクリプトの優れたリストがここにあります (ちなみに、そのリストは Modernizr によって提供されているため、すべてうまく機能するはずです)。

したがって、IE の古いバージョンに欠けている機能については、IE 固有のクラスは必要ありません。

IE 固有のクラスが必要になる可能性が高いのは、ブラウザーのバグに対処する場合だけです。

既知のすべての IE バグの完全なリストはありませんが (とにかく私が知っているわけではありません)、Web 上にはそれらの詳細と対処方法を提供するサイトがたくさんあります。

まず、IE が標準モードでページをレンダリングすることを確認します。互換モードまたは互換モードを使用している場合、問題が発生する可能性があります。特に quirks モードを回避することで、歴史的に IE に悪名をもたらした最悪のレイアウトの奇妙さを取り除くことができます。

IE6 をサポートする必要があるという不幸な立場にある場合は、IE6 のさまざまなバグとその回避方法について知る必要があります。それらは非常に多く、影響を受ける IE バージョンにのみ適用されるようにそれらのバグ修正を分離できることが重要であるため、IE クラスが役に立ちます。

IE の新しいバージョンではバグが少なくなっています。IE8 は比較的適切に動作しており、率直に言って、ブラウザー固有のバグ修正に関しては、一般的にあまり必要ありません。ただし、IE7 にはまだ問題がある可能性があり、IE6 はひどいものです。ここで重要なのは、特定のバグに遭遇したときを知り、それに応じて CSS 修正を発行することです。

このため、2 番目の質問への答えは次のとおりです。はい、テスト、テスト、テストを行うだけで済みます。IE のバージョンに関係なく何かがおかしい場合は、それを調査し、原因を突き止める必要があります。これはバグです。適切に対処してください。

于 2013-09-08T13:58:12.017 に答える
0

css 機能のサポートを確認するのに役立つサービスがあります。

http://caniuse.com/

したがって、どのコードが下位のブラウザー バージョンで問題を引き起こすかを確認できます。

于 2013-09-08T13:14:50.763 に答える
0

はい、各ブラウザーでテストし、後で必要なものを追加します。

于 2013-09-08T13:02:49.717 に答える