2011-07-28 5 views
0

私はW3Cを見ていますが、ブラウザーには何のルールも見つけられません。すべてのブラウザーはすべてのIDにCSSを適用しますが、問題が発生するよりJSを使用しようとすると、ページ上で複数回使用された場合、ブラウザのルールは何ですか?

適用私はそのセレクタで定義された最初の要素だけにスタイルを適用し、この

<head> 
<style type="text/css"> 
    #Button{color:red;} 
</style> 
</head> 
<body> 
<form> 
<input id="Button" type="button" value="Click me"/> 
<input id="Button" type="text" value="Type Here"/> 
</form> 
</body> 

を使用した場合、ブラウザにルールが何をしているものを

いずれかが私に言うことができます、そのセレクタで定義された最後の要素のみにスタイルを適用します。

私はどちらにも当てはまりません。

+0

有効なhtmlではないというルールはありません。これはおそらくベンダー固有のものです。 – Andrew

+0

+1ダウン投票に反対する。これはひどく書かれた質問ではありません。 – BonyT

答えて

3

標準では、IDは一意である必要があると言われています。

しかし、ブラウザはひどく書かれたサイトに対応するために構築されている、と喜んで両方の要素(私はこれが現在のすべてのブラウザのために働くと思う)にスタイルを適用します。

それは正しくありません!あなたは疫病のようにこれを避けるべきです。

複数の要素に同じスタイルを適用する場合は、代わりにclassを使用します。

<input class="myButton" type="button" value="Click me"/> 
+0

Yup - 特にあなたがそれらのID / –

2

ルールではIDを複数回使用しません。何かがあれば、それは標準ではないため、ブラウザ固有の(つまり予測不可能な)ブラウザになります。

1

IDは一意である必要があります。あなたは何をしたいのですか?

<head> 
<style type="text/css"> 
    .Button {color:red;} 
</style> 
</head> 
<body> 
<form> 
<input class="Button" type="button" value="Click me"/> 
<input class="Button" type="text" value="Type Here"/> 
</form> 
</body> 
関連する問題