0

したがって、背景画像を div の 100% のサイズにするための次の CSS があります。

#solutionsNav div.leadgen {
background:url(/images/leadGen_bg2.png) no-repeat;
background-size: 100% 100%;  
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/leadGen_bg2.png', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/leadGen_bg2.png', sizingMethod='scale')";
behavior: url(/scripts/PIE.htc);
padding: 10px;
color: #FFF;
cursor: pointer;

}

これはすべてのブラウザーで機能するようになりましたが、唯一の問題は、IE7 と IE8 では、画像が div に合わせて引き伸ばされると background:url(/images/leadGen_bg2.png) のアウトラインが表示されることです。上記の background:url(/images/leadGen_bg2.png) を取り出すと、IE7 と IE8 では問題なく動作しますが、Firefox では表示されなくなりました。

どうすればこれを回避できますか?

4

3 に答える 3

3

条件付きコメントを使用して IE8 以下専用のスタイルシートをロードし、それを使用してすべての hax をロードします。

<!--[if lte IE 8]><link rel="stylesheet" href="ie-hax.css" /><![endif]-->
于 2012-04-25T15:59:32.557 に答える
0

この問題を回避するために、条件付きクラスを使用します。たとえば、開始<body>タグを次のように置き換えると:

<!--[if lt IE 7 ]><body class="oldie ie6"><![endif]-->
<!--[if IE 7 ]><body class="oldie ie7"><![endif]-->
<!--[if IE 8 ]><body class="ie8"><![endif]-->
<!--[if IE 9 ]><body class="ie9"><![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--><body><!--<![endif]-->

...特に Internet Explorer を対象とした一連のクラスを取得します。次のように、CSS で IE を具体的にターゲットにすることができます。

/* Good browsers */
#solutionsNav div.leadgen {
    background:url(/images/leadGen_bg2.png) no-repeat;
    background-size: 100% 100%;  
    padding: 10px;
    color: #FFF;
    cursor: pointer;
}
/* IE-specific code */
.oldie #solutionsNav div.leadgen,
.ie8 #solutionsNav div.leadgen {
    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/leadGen_bg2.png', sizingMethod='scale');
    -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/leadGen_bg2.png', sizingMethod='scale')";
    behavior: url(/scripts/PIE.htc);
}
于 2012-04-25T16:05:33.787 に答える
0

Kolinkの答えを拡張するには:

<!--[if lte IE 8]>
#solutionsNav div.leadgen { background: none; }
<![endif]-->

このルールが優先されるように、回答で定義したルールの後に来るようにしてください。IE ハック用に別のスタイル シートを使用することをお勧めします。

于 2012-04-25T16:01:27.400 に答える