Я хотел создать пользовательскую радио-кнопку, используя ::after
. Моя HTML структура выглядит следующим образом:используя :: после с ~ в том же селекторе
<div class='radio'>
<input type='radio' class='radio-input'>
</div>
и то, что я хочу, чтобы добавить ::after
к radio
элемента и применить некоторый стиль, когда вход проверяется. То, что я написал (и не работает) заключается в следующем:
.radio-input:checked ~ .radio::after {
...
}
Если я использую элемент вместо ::after
он работает, но я хотел бы знать, почему это не так.
http://stackoverflow.com/questions/2587669/can-i-use-the-after-pseudo-element-on-an-input-field –
Это не связано с комбинацией селекторов, а просто с фактом что элементы 'input' не имеют псевдо-элементов' :: before' и ':: after'. – GolezTrol
Вы используете общий селектор (~), но '.radio' и' .radio-input' не являются братьями и сестрами. '.radio-input' является дочерним элементом' .radio'. – denmch