web-dev-qa-db-ja.com

入力type = "button"のCss属性セレクターがIE7で機能しない

私は大きなフォームで作業していて、フォーム全体にたくさんのボタンが含まれているため、メインのcssファイルで作業入力[type = "button"]を取得して、追加せずにすべてのボタンをキャッチしようとしています。あらゆるものへのクラス、何らかの理由でこれはIE7で機能していません。ウェブで確認した後、IE7がこれをサポートする必要があると表示されます。

また、すべてのボタンがフォームを送信するわけではないため、type = "submit"ではなくtype = "button"である必要があります。

誰かが私が間違っていることのヒントを与えることができますか?

input[type="button"] {
    text-align:center;
}

input[type=button]も試しました

11
Amra

IE7またはIE8でinput[type=button]セレクターを機能させるのに苦労していました。問題は、HTMLページに「!DOCTYPE」宣言がないことであることが判明しました。追加したら

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

その後、すべてが正常に機能しました。要件に合わせて、別の「!DOCTYPE」宣言を使用できることは明らかです。

28
ipr101
input[type="button"]{ text-align:center; }

あなたはそれが何をすることを期待しますか? <input type="button">のテキストは、デフォルトですでに中央に配置されています。

ボタン自体を親内に配置する場合は、ボタンではなく、親要素にtext-alignを設定する必要があります。

属性セレクター—引用符付きまたは引用符なし—はIE7で機能します。そこに問題のあるブラウザはIE6です。

9
bobince

IE7で動作するようなcssステートメントを取得するのに問題はありませんでした。 IE6は常に問題ですが、このCSSはそこでも機能すると思います。ですから、IE7が問題だとは思いません。

まず、CSSサンプルはボタンにのみ影響し、送信ボタンには影響しません。しかし、それは簡単な修正です。 cssを次のように変更します。

input[type="submit"], input[Type="button"]
{ text-align: center; }

次に、Manolo Santosが言ったように、text-align設定をオーバーライドする別のCSSステートメントがありますか?入力要素だけの設定? CSSの問題を見つけるために、Firebugなどの開発者ツールまたはChromeまたはIE8に組み込まれている開発者コンポーネント)を使用する価値があります。

3
Jeff Siver

ヘッダーに!DockTypeを追加するという解決策が常に可能であるとは限らないという事実を、誰もが知っていると確信しています。

たとえば、開発者がヘッダーにアクセスできないDotNetNuke(DNN)環境で開発しています。その場合、!DocTypeを追加することはほとんど不可能になります。

この場合、CssClassをボタンに関連付け、CSSモジュールで明示的に参照する以外に、あまり多くのオプションはありません。

1
Mehrad

残念ながら、属性セレクターは、現在の標準である2.1ではなくCSS3であるため、すべての主要なブラウザーにまだ十分に実装されていません。 W3Cにいる人たちは意思決定がそれほど速くないので、すぐにcss3を使用できなくなるので、希望を高く設定しすぎない方がよいでしょう。そのいくつかの側面はすでに実装されていますが、これは実装されていません(確かにIE6にはありません)。

したがって、すでに自分で言ったように、すべての入力にクラスを提供し、フォームを作成するたびにそうすることを習慣にする方がはるかに良いでしょう。すでにフォームをプログラミングしている場合は、常に便利で多くの作業は必要ありません。

フォームを作成するときは、常に入力のタイプをクラスとして追加します。例:

特に最後の2つは、.buttonと.submitを別々にスタイル設定する必要がないため、多くの場合に役立ちますが、必要に応じて設定することもできます。

これらはIE7で機能します(引用符付きと引用符なしの両方の形式)。

たぶんあなたを隠している別のセレクターがあります。セレクターをより具体的にして、優先順位を上げることができます。例:

body form input[type="button"] {
background: red;
}
1
Manolo Santos

何らかの理由で、IE7でページが表示される前に属性セレクターが適用されない場合があります。これは実際に私に起こっただけです。私のセレクターはtable[bgColor="#c0c0c0"]であり、ページの読み込みには適用されません。 IE9(ブラウザーモード:IE7、ドキュメントモード:IE7標準)を使用していたので、F12開発ツールを使用してCSSファイルを確認することができました。セレクターのチェックを外してから、もう一度チェックしました。その後に適用される属性。これは古き良きIE7で正確に再現できるので、回避策を見つける必要があります。 (注:ここでは、一重引用符、二重引用符、または引用符を使用せず、大文字の使用を変更しても影響はありません。)

0
Micah Henning

この質問は古いですが、誰かが関連する問題を抱えている場合..私は同様の問題を解決するために数分を費やします

input [type = "Submit"]はIE7では機能しません(開発ツールで見たように、IE入力にスタイルを正しく割り当てているにもかかわらず)。

解決策:送信から送信に切り替えましたが、機能しました。

デバッグ時に誰かを助けるかもしれないので、私はこれをここに投稿しました。

0
Pedro Gil