1

私はいくつかの異なるコンテキストで使用されるWebページを開発しています。通常、ブラウザーのスニッフィングや条件付きステートメントは絶対に避けていますが、今回はそれを回避する方法がありません。

私は簡単な方法を試していますが、これが良いアイデアかどうかについてフィードバックを得ることができると期待していました。

ユーザーエージェントをテストしてから、ユーザーエージェントがIEの場合は、htmlの要素(私の場合はdiv)にクラスをエコーし​​ます。

<?php echo (strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'msie') !== FALSE) ? ('classforie') : (''); ?>

それから私のcssで、私はこれに沿って何かをしています。

.classone { display: inline-block; }
.classone.classforie { zoom: 1; display: inline; }

CSSは重要な部分ではないことに注意してください。例として、CSSを作成しました。このようにするのが良い習慣かどうか疑問に思っていますか?

4

2 に答える 2

5

いいえ。条件付きコメントを使用してください。ユーザー エージェント スニッフィングは信頼できません。

于 2011-02-07T22:46:10.510 に答える
1
.classone.classforie { zoom: 1; display: inline; }

間違いなくIE6では動作しません。

私が通常見ている方法は、BODYタグでクラスを出力することです。IE6とHTMLタグのクラスに問題があるのではないかと思います。

次に、次のようなものになります。

.msie .classone { zoom: 1; display: inline; }
于 2011-02-07T22:46:52.003 に答える