3

フォームで選択されているラジオ ボタン ラベルの境界線の色を変更しようとしています。私がやろうとしていることとほとんど同じであるこの質問を見つけました: CSS - 選択したラジオボタンラベルをスタイルする方法? しかし、自分のコードで試してみると、選択時に色が変わりません。これは私を夢中にさせています。境界線の色が適用されない理由がわかりません-どんな助けも大歓迎です。ここで作業しているコードをアップロードしました: http://jsfiddle.net/SHfr5/ですが、以下にも含めます。

HTML

<form name="input" action="/engine/preview.php" enctype="multipart/form-data" id="customizeForm" method="post">
<div id="customize_container">
    <h1>Customize</h1>
    <div id="customize_left">
            <div style="float: left">
            <label for="8dc63f" style="width: 55px;height:55px;background-color:#8dc63f;margin-left:20px;"></label><br/>
            <input type="radio" name="color" id="8dc63f" value="8dc63f" checked />
            </div>
            <div style="float: left">
            <label for="00aeef" style="width: 55px;height:55px;background-color:#00aeef;border:2px solid #000;margin-left:20px;"></label><br/>
            <input type="radio" name="color" id="00aeef" value="00aeef" />
            </div>
            <div style="float: left">
            <label for="ed1c24" style="width: 55px;height:55px;background-color:#ed1c24;border:2px solid #000;margin-left:20px;"></label><br/>
            <input type="radio" name="color" id="ed1c24" value="ed1c24" />
            </div>
            <div style="float: left">
            <label for="f15a29" style="width: 55px;height:55px;background-color:#f15a29;border:2px solid #000;margin-left:20px;"></label><br/>
            <input type="radio" name="color" id="f15a29" value="f15a29" />
            </div>
    </div>
    <div class="clear"></div>
    <input type="submit" value="Preview" />
</div>

CSS

@charset "utf-8";

.clear {
    clear: both;
}

#customize_container {
    width: 840px;
    clear: both;
}

#customize_left {
    width: 385px;
    float: left;
    margin-top: 35px;
}

#customizeForm input[type=radio] {
    margin: 5px 0px 40px 43px;
}

#customizeForm label {
    display:inline-block;
    border:2px solid #000;
}

#customizeForm input[type=radio]:checked + label {
    border: 2px solid #FFF!important;
}
4

1 に答える 1

3

解決しました

+ CSSセレクターを使用しているため、この問題が発生しました。'adjacent'セレクターは、前の要素の直前の要素のみを選択します。この場合、チェックされたラジオボタンの直前のラベル。私の元のHTMLには、入力の前にラベルがありました。+セレクターを使用するには、ラベルは入力の後になければなりません。

于 2013-02-14T18:59:59.767 に答える