ここのコードについて:
フィドルのラジオボタンは、ラジオボタンのように機能していません。
私はCSSの+に精通しておらず、これはそれと関係があるのだろうかと思います。
input[type="radio"]:checked+label{ ..... }
//a label that immediately follows an input of type radio that is checked
CSS の + 記号は、最初のセレクターに隣接するセレクターを示します。
あなたの例では、+記号は実際のラジオボタンではなくラベルのみを変更しています。
ラジオ ボタンのグループ名 (または名前) を指定していないため、次の html を試してください。
<form>
<input type="radio" id="radio1" name="rdo">
<label for="radio1"></label>
<input type="radio" id="radio2" name="rdo">
<label for="radio2"></label>
</form>
これで、ラジオボタンは同じ名前にバインドされ、正しく機能します。
乾杯、ニコ
これにより、隣接する要素が選択されます。覚えておく必要がある 30 の CSS セレクター を参照してください。
FTA:
これを隣接セレクタと呼ぶ。前の要素の直前にある要素のみが選択されます。この場合、各 ul の後の最初の段落だけが赤いテキストになります。
IE7+ でサポート
指定された別の要素の直前の要素に一致します。
あなたの例では、これは、の要素に続くすべての要素と一致することを意味しlabel
ます。input
type="radio"
セレクターの詳細については、http ://www.w3.org/TR/CSS2/selector.html をご覧ください。
ラジオ ボタンが相互に排他的ではない (複数のボタンを選択できる) ことを参照している場合、それは、html がラジオ ボタンを同じグループの一部として定義していないためです。これを実現するには name 属性を使用します。
<form>
<input type="radio" name="radioGroup" id="radio1">
<label for="radio1"></label>
<input type="radio" name="radioGroup" id="radio2">
<label for="radio2"></label>
</form>
CSS の + に関する質問は無関係だと思いますが、他の回答では次の兄弟として正しく識別されています。