24

私の会社は Web サイトを構築していますが、JavaScript ライブラリが何かを置き換えないという問題がありました。HTML を W3C バリデーターに入れることにしたところ、<div>タグ内にタグを持つことは違法であると通知されました<button>

<button class="button" type="submit">
    <div class="buttonNormalLargeLeft"><!--#--></div>
    <div class="buttonNormalLargeCenter">Search Flights</div>
    <div class="buttonNormalLargeRight"><!--#--></div>
</button>

結果:

Line 287, Column 46: Element div not allowed as child of element button in this context. (Suppressing further errors from this subtree.)

編集:ここで何をしようとしているのかを明確にするため。に依存しない角の丸いボタンを作りたいですbox-radius。ボタン要素に 3 つの div を作成し、それぞれに独自のスプライトを設定して、丸みを帯びた外観にし、さまざまな幅を可能にしました。他のリソースでは、ボタンに画像などのサブ要素を含めたいユーザーのためにボタン要素が作成されたが、何らかの理由で div が無効に見えると述べています。

ボタン要素内で div を使用できないのはなぜですか?

この問題に対する望ましい解決策は何ですか?

編集2:

入力を使用しないのはなぜですか?入力が目的のレイアウトを持つことができないため

divを使用しないのはなぜですか? JavaScript を使用しないユーザーはフォームを送信できないためです。

4

4 に答える 4

2

カスタム ボタンを使用する場合は、ボタン タグを div または入力に置き換える必要があります。この場合、divが必要なようです。必要なイベント ハンドラーを追加するだけです (送信用)。

これは、物事を少し明確にするのに役立つかもしれません。

于 2013-04-08T17:42:15.977 に答える