2009-08-20 15 views
3

以下のコードはインターネットでは動作しません  Explorer   6. classまたはidを入れられません。 CSSハックはありますか?input [type = submit] CSSがInternet Explorer 6で動作していません

このコードはWordPressにあります。コードを変更することはできません。私はCSSを変更することしかできません。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <head> 
     <style type="text/css"> 
      form input[type=submit]{ 
       background-color:#FE9900; 
       font-weight:bold; 
       font-family:Arial,Helvetica,sans-serif; 
       border:1px solid #000066; 
      } 
     </style> 
     <title>Untitled Document</title> 
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    </head> 

    <body> 
     <FORM action=""> 
      <INPUT type=text name=s> 
      <INPUT type=submit value=Search> 
     </FORM> 
    </body> 
</html> 
+3

はい - IE6は完全に古いですが、これを行うことはできません。あなたの質問は何ですか? –

+1

入力タグにクラスを入れられないのはなぜですか?タグは自動的に作成されますか?そうですか? –

+0

私はあなた自身のドメインを持っていることを示唆し、その上にWordPressソリューションをホストしました。その後、すべてのコードにアクセスできるようになり、入力タグにクラスを挿入することができます。 現在のソリューションはwordpress.orgでホストされていますか?または自分のドメインですか? –

答えて

5

あなたはそうですが、動作しません。

Quirksmode.orgは、ブラウザの互換性情報を持つ優れたサイトです:代わりに、入力にクラスを与え、その後、そこからスタイル

http://www.quirksmode.org/css/contents.html

11

。このように:

<input type="submit" class="myClass" value="Search" /> 

そして、あなたのCSSで.myClassをスタイルします。これはIE6でも有効です。

+1

なぜこれがダウン表示されたのですか?それは解決策です – erikkallen

+0

ええ、私もそれを取得しません。余分なコードを挿入できないことをどのように知るべきですか? –

3

Internet Explorer 6はattribute selector[attr="value"]をサポートしていません。したがって、CSSで入力要素を送信するだけでは対応できません(IE 6では、adjacence selector +:last-of-type selectorはどちらも役に立ちません)。

唯一のオプションは、クラスまたはIDを追加するか、追加のspan要素にラップすることによって、その要素を一意にアドレス可能にすることです。

または、すでに説明したとおり、JavaScriptを使用してその要素を選択し、CSSルールを適用します。 jQueryはこれをかなり簡単にすることができます:

$("form input[type=submit]").css({ 
    "background-color": "#FE9900", 
    "font-weight": "bold", 
    "font-family": "Arial,Helvetica,sans-serif", 
    "border": "1px solid #000066" 
}); 
関連する問題