1

cssを使用しているときに、特定のものがクロスブラウザーに対応していないことに気付くのにそれほど時間はかかりません。

たとえば、半透明のpngが必要な場合、IEに次のようなばかげたものを与える必要がありました。
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(...);

20分以上cssで遊んだことがある人なら誰でも遭遇するので、私はポジショニングや疑似セレクターなどに問題がありました。

  • 問題を解決するために、私はすべてのブラウザがサポートしていることと、同じ(または少なくともかなり類似した)方法でのみサポートすることを決定することから始めます。
  • また、条件付きコメントを入力して、IEに独自のスタイルシートを与えることもあります。
  • そして、他の場合には、cssハックを使用して、特定のブラウザが特定のビットを読み取ることを除外します(古い「* html {}」や「html>/**/body {}」など)。

だから私の質問は、これが最良の選択肢です。1つ目はかなり制限があり、IE6でできることを開発することになりますが、他の2つは少し厄介だと感じます。では、プログラミングの実践、レンダリングの効率などの観点から、どちらが賭けになりますか?

4

2 に答える 2

1

私は常にIE修正付きの条件付きコメントを好みます。ハックはIEが解析を修正することと一致していないため、ハックは機能しなくなりますが、ハックが補正していたものは修正されません。また、他のCSSパーサーを混乱させる可能性もあります。

于 2011-01-20T07:01:40.187 に答える
1

短い答え:

  • 基準を守るために最善を尽くします
  • クリエイティブに
  • ハックの使用をやめ、条件付きコメントの使用を開始します

長期的には、CSSハックはスタイルシートを汚染し、保守をより困難にします。可能な限りそれらを避け、代わりにIE固有のスタイルシートで条件付きコメントを使用してください(ほとんどのハックはIEに対応しているため)。私は、CCがハックよりもはるかに汚くないことを保証できます。

IEによって常に制限される必要はありません。プログレッシブエンハンスメントと呼ばれる概念があります。これは、高度なスタイル設定などをサポートする最新のブラウザでページを少しきれいに見せることができることを意味します。border-radiusブラウザベンダーは製品にこれらのサポートを提供するために(比較的)迅速に取り組んでいるため、今日のようにCSS3プロパティを使用することに何の問題もありません。

しかし、それからクライアントがいて、それは別の議論のトピックになるでしょう。しかし、私はバランスをとると言います。クライアントを教育し、創造性を発揮しますが、あまりにも賢く、派手なことをしようとしないでください。そして、CSSハックを避けてください。ただし、午前4時半でビールの缶の後に缶を下ろしていて、どんな状況でも何かをやりたいと思っている場合を除きます。

于 2011-01-20T07:04:42.923 に答える