0

次のコードを想定しています。

<div class="content">
<div style="background:url(swoosh.jpg) no-repeat; background-size:100% 100%;" class="top">
<div style="height:42px; align:center;" id="logo">

私の目標は、背景がswoosh.jpgのdivをclass=topの単純なdivにすることです。

条件を自分で動作させようとしましたが、何らかの理由(構文?)で正しく動作していません。

以下は私が試したことです

<div class="content">
<!--[if !IE]>
<div class="top">
<![endif]-->
<!--[if IE]>
<div style="background:url(swoosh.jpg) no-repeat; background-size:100% 100%;" class="top">
<![endif]-->

このアプリケーションにはインラインCSS以外は使用できず、ヘッダーにアクセスできないことを述べておく必要があります。

4

4 に答える 4

1

追加してみてください

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

HTMLドキュメントの先頭に。次に、このようなCSSを使用します

.content {
      color:red;
    }
.ie6 .content {
      color:blue;
    }
.ie7 .content {
      color:green;
    }

このようにして、すべてのCSSを1つのファイルに保持し、IEクラスを非IEクラスの隣に保持できます。

ポールアイリッシュからこのドキュメントをチェックしてください

于 2012-12-03T17:19:54.263 に答える
1

これはあなたが望むことを行う方法だと思いますが、前に述べたように、他のオプションがある場合はそれが最善の方法ではありません(IE9でテスト済み-IE10は条件付きステートメントで動作しません):

<![if !IE]>
<div class="top">
<![endif]>
<!--[if IE]>
<div style="background:url(swoosh.jpg) no-repeat; background-size:100% 100%;" class="top">
<![endif]-->

http://jsfiddle.net/APFZh/2/

IE 10のターゲティングには、少しJSが必要です。

<![if !IE]><!--<script>  
if (/*@cc_on!@*/false) {  
    document.documentElement.className+=' ie10';  
}  
</script><!--<![endif]-->  

これにより、「ie10」のクラスがhtml要素に追加されますが、ドキュメントに好きなように書き込むことができます。

http://www.impressivewebs.com/ie10-css-hacks/

于 2012-12-03T17:23:09.367 に答える
0

class = "top"を指定してdivを作成することをお勧めしますが、インラインCSSを使用することはお勧めできないため、別のIEスタイルシートで異なるスタイルを設定してください。

これをページの先頭に配置します。

<!--[if IE]>
<link rel="stylesheet" type="text/css" href="ie.css">
<![endif]-->

それが機能しないことに関しては、IEがそれについて非常にうるさいので、ページの上部に有効なDOCTYPEがあることを確認することをお勧めします。

于 2012-12-03T17:17:24.273 に答える
0

誰かがまだこのページに到達した場合の更新。最近のIEブラウザでIEターゲティングが機能しないのはなぜか疑問に思います。IE 10以降では、条件付きコメントはサポートされなくなりました。MS公式ウェブサイトから:

条件付きコメントのサポートは、相互運用性とHTML5への準拠を改善するために、InternetExplorer10標準および癖モードで削除されました。

詳細については、こちらを参照してください:http: //msdn.microsoft.com/en-us/library/ie/hh801214 (v=vs.85).aspx

どうしてもieをターゲットにする必要がある場合は、このjqueryコードを使用してieクラスを追加し、cssで.ieクラスを使用してieブラウザをターゲットにすることができます。

if ($.browser.msie) {
 $("html").addClass("ie");
}
于 2014-12-18T04:51:07.373 に答える