私はディーンエドワーズie7/8スクリプトを使用しています。それが私の実装であるかどうかはわかりませんが、ie6の問題が完全に修正されていないか、特別な処理が必要な場合があります。つまり、ie6を気にかけて、最初の場所に戻ることになります。それで、私はie7 / 8がまだ成功しているのか、それとも他のプラクティス/ソリューションの方が優れているのか疑問に思いました。
16 に答える
更新:ここでの回答を自分のサイトのチュートリアルで拡張しました。これは、ここでの回答よりもおそらく役立つでしょう。Ultimate IE6 Cheatsheet: 25 以上の Internet Explorer 6 バグを修正する方法
これが私がIE6に取り組む方法です:
- XHTML と CSS の両方を検証します。
- 複雑なデザインでもシンプルなデザインを心がけています。
- CSS を無効にするハックは使用しません。
- 私は JavaScript フレームワーク/ライブラリを使用しています (私は MooTools が好きですが、jQuery、Prototype、YUI、Dojo などに多くの票を集めるでしょう) は、私のクロスブラウザー JavaScript 問題のほとんどを処理します。
- 最初は JavaScript なしで動作するようにページを徐々に強化し、次にすべてのオプションを追加します。
- 二重マージンの問題の一部については、display:inline; を使用します。
- どうしても必要な場合は、別のスタイルシートを使用しますが、これを行う必要がますます少なくなってきています。
- レイアウトで透明な画像を避けるようにしています。絶対に必要な場合は、IE6 が実際にサポートしているアルファ透過性を持つ PNG8 を使用します。
- 最小高さの問題を解決するには、次のようにします。
高さを最小高さとして解釈する IE6 の場合:
.classNameHere {height:300px;}
これは他のすべてのものです:
div>div .classNameHere {min-height:300px; height:auto;}
ちなみに、IE6 を CSS で分離する必要がある場合、IE6 は子セレクターをサポートしていないため、これは良い方法です。
IE6をサポートしないようにしています
私は使用しています:
- 「Reset.css」は、ブラウザーのデフォルトの CSS 計算スタイル ( YUI reset.css など)の違いを最小化します。
- 追加の css ファイルをスコープに入れるための条件付きコメント;) (例 ./ieFix.css)
- W3C Validator を使用して、レンダリングの違いが不適切なネスティングに起因するのか、それとも IE に起因するのかを判断します ;)
- それが失敗した場合、jQuery が大いに役立ちます ;)
クリーンなコード、条件付きコメント、ie6を幸せに保つが完璧ではないなどのプロセスについて話している回答に同意します。しかし、それは非常に慎重で、少しずつプロセスであり、実際にはかなり時間がかかります。それはすべて1つのブラウザ用です。すべての回答が私が精通している既存の方法について話しているので、回答された回答にチェックマークを付けるのは気が進まない。私の質問は「いいえ」と答えられているのかもしれません:)基本的に私はフレームワークを求めていたので、ie6のニュアンスについて心配する必要はなく、現代的な方法でコーディングするだけでした。つまり、ie7/8のjsでうまくいくと思いました。しかし、今日でも、最小の高さが修正されていないことに気づきました!!。とにかく返信をありがとう-それは '
正直なところ、最近は IE6 の問題をあまり扱っていません。私のデザインプロセスはシンプルです:
- すべてのマージン/パディングをリセットします。私はすべてを意味します。
- 数分ごとにページ レイアウトをテストします。F5 を 1 回タップします。
- 何らかの変更がページを壊す場合は、すべてを停止して変更を評価します。
- 希望する方法が使用できない場合は、「ハック」を除いて、代替方法を研究します。
- マークアップと css の両方を検証します。そして、常に XHTML 1.0 Strict を使用してください。
- まず自分のサイトが Javascript なしで機能することを確認してから、後で jQuery を使用します。
これらの基本的なプラクティスにより、私は何年にもわたって IE6 の問題に対処する必要がなくなりました。私がまだ動揺している唯一の問題は、透過性を備えた PNG24 に対する IE6 のサポートですが、IEPNGFix はそれらを処理します - 通常、私のレイアウトも壊すことはありません。
それは愚かな人の意見かもしれ
ません: 優れた開発者は不満を見つけるのではなく、解決策を見つけます。
私は最近、IE6 に関してポリシーを制定しました。基本的には、IE6 でサイトを壊さない限り、それに時間をかけないでください。
私見ですが、IE6 がまだ小さな問題の修正にお金を使い続ける価値があるとは思えません。
これは、私の会社が追跡データを持っているいくつかのサイトからのデータの簡単なサンプルです。これは最近のデータ (今日) と約 1 年前のデータを組み合わせたものであるため、IE6 の割合は現在よりも高く、それでも 3% を除くすべてのヒットは 8 つのサイトのうちの 1 つです。データに含まれています。
alt text http://unkwndesign.com/browerUsage.png
**注意 Chrome は webkit で構築されていますが、Chrome の成長の速さを示すために、その数値は webkit には含まれていません。四捨五入のため、合計パーセンテージは 100.5% です。
Firefox向けに最初に構築する、核兵器またはダウングレードの設計要素の経験から、IE6は最初は処理できず、クライアントの仕様が保証するよりも多くの時間を費やすことはありません。
TBHの経験は、IE6の問題に対する最大の予防策です。
どのブラウザを無視できるか、無視できないかについての基準はこれまでにないと思います。それは組織、またはあなたのスタートアップの場合は聴衆に依存します。あなたが書くJSは「優雅に劣化する」はずですが、それが実際に起こることを確認するには、時々ある程度の巧妙さが必要です。
- 開始する前に、すべてのデフォルトのスタイリングを強制終了します。
- それにディーン・エドワーズのスクリプトを投げてください。
- 問題が解決しない場合は、ユーザーにアップグレードするよう伝えます。
- IE6 が重要な場合は、動作しないものをすべて削除し、より単純なスタイルに置き換える IE スタイルシートを使用してください。
- jQuery :hover などから .hover、input[type=submit] から input.submit など。古いバージョンの FF や Opera にも役立つ場合があります。
昨日、もうサポートしないことにしました。IE 6 を殺そうとする動きが始まっています。
IE の条件付きコメントのおかげで、それらのユーザーだけにメッセージを表示するのは簡単です。
私は Chrome 用にビルドし、ほとんどの場合 Firefox 用に最適化します。それから IE 8 に移行し、IE 7 に移行します。それまでにほとんどのバグが解消されているからです。IE 7 の後、Opera を簡単に見て、その日は終了です。もう IE 6 を気にする人はいますか?
CPU がコモドールに適合しないことをインテルの製造業者に不平を言っていますか? 技術の進歩があり、IE 6 を殺すのが最善の方法だと思います。それを行う最善の方法は、ユーザーにアップグレードする必要があることを伝え、サイトをがらくたのように見せることです。それが強制的に切り替えさせる唯一の方法です。最終的に、インターネットが壊れた理由を子供たちに尋ねる人もいます。息子がやって来て、すべての更新プログラムをインストールすると、お母さんやお父さんは再び幸せになれます。
私の答えを一言で言えば、私がそれをどのように処理するかは、もはや最適化ではありません。
ユーザーに、より良いものへのアップグレードを奨励することによって。