2012-05-17 7 views

ответ

5
input[type="radio"]:checked+label{ ..... } 
//a label that immediately follows an input of type radio that is checked 
1

Если вы имеете в виду, что переключатели не являются взаимоисключающими (вы можете выбрать несколько), это связано с тем, что 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 не имеет никакого отношения, но он правильно определил в качестве следующего собрата в других ответах.

3

Это выбирает смежный элемент, см. The 30 CSS Selectors you Must Memorize.

ССТ:

Это упоминается как смежный селектор. Он выберет только элемент, которому сразу предшествует предыдущий элемент. В этом случае только первый абзац после каждого ul будет иметь красный текст.

Поддерживается в IE7 +

+0

Не видел более полезный сайт, чем «30 CSS селекторов вы должны ЗАПОМНИТЬ», так как я впервые обнаружил StackOverflow. Большой +1! –

2

Это соответствует элементу, непосредственно перед другим указанным элементом.

В вашем примере это будет означать, что он соответствует любому элементу label, который следует за элементом input от type="radio".

Более подробная информация о селекторах здесь: http://www.w3.org/TR/CSS2/selector.html

4

Знак + в 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> 
​ 

Теперь радиообъективы привязаны к одному и тому же имени и будут работать правильно.

Cheers, Нико

Смежные вопросы