2011-08-26 7 views
0
input.icon 
{ 
    border: 0;  
    cursor: pointer; 
    margin: 0; 
    padding: 0; 
    width: 16px; 
    height: 16px; 
    text-indent: -1000em; 
} 
input.edit {   
    background: transparent url('/edit.png') no-repeat center top; 
} 

「のクエリを提出」タグは、値がIEでテキストを属性表示している提出:入力のような要素で

<input type="submit" class="icon edit" onclick="...." /> 

また、画像上のテキストなしで、Firefoxで罰金レンダリングします。 IEでは、value属性のテキストを表示します。

なぜですか? 実際に私は値属性を設定していなくても、デフォルトで 'submit query'になっています。

input.icon { ... } input.icon .edit { ... } 

しかし、それはなぜわからない私のために動作しませんでしたので、私はあまりにも第二の定義を変更:

はまた、私は私のCSSを行うことで、より具体的に考えていた

入力を.edit { .. }

なぜinput.icon .editは機能しませんでしたか?

これらのスタイルをdiv要素に置くこともできますか?違いは何ですか?

+0

あなたのHTMLはどのように見えますか?ボタンにはアイコンと編集クラスの両方がありますか? –

+0

はい、上記を参照してください、私の要素が正しくレンダリングされなかったので、私はそれを編集しました。 – codecompleting

答えて

1

あなたにはいくつか質問があります。最初のもののために。私はIE8で問題を見ていないよ:

http://jsfiddle.net/rfYrq/

私はIE8のテキストが表示されません。


質問2:「なぜinput.icon .editは機能しませんでしたか?」

input.icon .editの意味は、iconのクラスで入力要素内editのクラスを持つ任意の要素。あなたが本当に欲しかったのは、の入力です。editiconのクラスです。つまり、このようになります:

input.icon.edit


質問3: "私は、同様のdiv要素にこれらのスタイルを入れてもらえますか?"

はい。ボタンのスタイルを独自のCSSでオーバーライドして、ボタンの機能をonclickでオーバーライドしている場合は、状況に応じてdivやスパンなどの要素を使用できます。