3

IE 6 および 7 のどの css ハックが将来の証明になりますか? つまり、私が使用すると、問題が発生することはなく、パッチが実装されることはありませんか?

すべての CSS と IE 用の 2 つの CSS を管理するには時間がかかり、スタイル シートも 1 つ追加されます。そして、ハックがメイン css 内の問題を解決できる場合、それは時間の節約になります。また、複数の人が同じプロジェクトで作業している場合、ほとんどの場合、条件付き css も変更するのを忘れていました。

私は条件スタイルシートについて尋ねているのではありません

4

6 に答える 6

24

なし。IE の条件付きコメント
を 使用して、バージョンごとの (しゃれは意図していません.. 多分少し) スタイルを挿入します..


[更新]
変更された質問への追加メモ。時間がかかるかもしれませんが、ベストプラクティスです (ハックの多くは有効な css ではありません)。

ブラウザーの同じメジャー バージョンであっても、ハックの使用を保証することはできません.将来のマイナー リリースで IE6 の cssバグが修正される可能性は低いですが、それでも 100% 確実というわけではありません..

別の方法があります (おそらく最初はもっと時間がかかります)、私が言及した IE のコメントですが、それは本当にベスト プラクティスです...

さらに、チーム内の他のコーダーについても考えてみてください。彼らは将来、同じハッキングを知り、理解し、覚えておく必要があります。時間が経つにつれて、他のファイルで問題のあるルールの個別のバージョンを維持するよりも、ハックを維持する方が時間がかかるようになります。 ..

于 2010-01-29T13:56:02.100 に答える
2

ハックはハックであり、将来的に証明されるかどうかは保証されません。要点は、ハッキングの使用を可能な限り最小限に抑える必要があるということです。理由は簡単です。ハッキングは将来的に保証できないからです。IE6、IE7、IE8 のハックに違いはありませんか。すべてハックが異なり、以前のバージョンのハックがすべて保持されているわけではありません。他のブラウザも同様です。

于 2010-01-29T13:56:58.367 に答える
1

一般的に言えば、どれもそうではありません。しかし、そうであってはなりません。特定のブラウザーの特殊なケースのコーディングは、良い考えではありません。

特別な場合のコーディングを行う必要がある場合は、jQuery などのライブラリを使用し、それらの機能テストの 1 つを使用するのが最善の策です。「if not IE6」を実行しないで、代わりに「if not supported-rounded-corners」を実行します

于 2010-01-29T13:56:38.787 に答える
1

アンダースコアで始まるプロパティは今後考えられません。

_background: #ff0000;
于 2010-01-29T13:56:45.620 に答える
1

コードの後半で CSS 属性をオーバーライドすることを伴うものはすべて、CSS 標準に従っているだけなので、将来的にも保証されます。

body {
   background: url('background.jpg') center;
   background: url('background-top.jpg') top, url('background-bottom.jpg') bottom;
}

ただし、これは古いブラウザーでは利用できない機能を使用している場合にのみ機能し、ブラウザー固有のバグに対処する場合には機能しません。CSS の特定のバージョンが特定のバージョンの Internet Explorer で使用されるようにするには、条件付きコメントを使用します。

<head>
    ...
    <!--[if lt IE 8]><link rel="stylesheet" type="text/css" src="ie7.css" /><![endif]-->
    <link rel="stylesheet" type="text/css" src="generic.css" />
</head>
于 2010-01-29T13:59:34.787 に答える
0

チャットは決して/常に脇に置いてください。ブラウザモデルごとに個別のファイルは、メンテナンスのために時間の経過とともにすぐにバラバラになります.

于 2011-04-20T19:30:02.227 に答える