2010-12-13 12 views
2

私は同じクラスの2つのラベルを持っています。このクラスの私のCSSです:IE7奇妙な背景位置の振る舞い

.required 
{ 
    background-image:url(/img/required.png); 
    background-position: right; 
    background-repeat:no-repeat; 
    padding-right:10px; 
} 

すべてのブラウザで、2つの要素は右上に赤い星を持っています。しかし、IE 7では最初の要素だけがこの星を持っています。私が間違っていることは何ですか?私を助けてください。

+0

私はこのコードに間違いはありません。実際の例へのリンクを提供できますか? (おそらくjsfiddle.comにあなたの実際のサイトを表示することができない場合) – Spudley

答えて

1

を試してみました:運動のために私borrowedrequired.pngを使用して、次のコードサンプルは、正常に動作するようです(Iちょうど)速記のバージョンにCSSルールを凝縮:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title></title> 

<style type="text/css"> 
.required 
{ 
    background: url(img/required.png) no-repeat right top; 
    padding-right: 15px; 
} 
</style> 
</head> 

<body> 

<form action="4430474.htm" method="post"> 
    <div> 
     <label for="field1" class="required">Field 1:</label> 
     <input type="text" name="field1" id="field1" size="40" /> 
    </div> 
    <div> 
     <label for="field2" class="required">Field 2:</label> 
     <input type="text" name="field2" id="field2" size="40" /> 
    </div> 
</form> 

</body> 
</html> 

あなたはおそらくどのfloatpositionルールを採用してください。あなたのフォームのものは何ですか?これらは通常、IE6/7で誤動作するものです。

+1

本当にありがとうございます。フォーム内でのポジションに関する注意は正しいです。私のフォームはUIダイアログクラスを持っています。そして、このクラスには 'position:relative'というルールがあります。 UIクラスをすべて削除してもOKです。しかし、私はこのクラスが必要です( – pltvs

+0

@ Alexander.Plutov: '/ * position:relative * /'という行を 'CSS'でコメントアウトすると、他のスタイルをそのままにしておくことができます。それはまた 'DOCTYPE'問題かもしれないので、答えてください:http://stackoverflow.com/questions/2945660/jquery-ui-dialog-when-opened-ie7-browser-moves-instantly-to-the-bottom-of- the-p/2976833#2976833 – stealthyninja

1

ない、これは何も変更するかどう必ず、しかし、あなたはAlexander.Plutov @

label .required 
{css here}