У меня есть форма, что это примерно так -не может предназначаться элемент <i> с входом: проверено
<form action="#">
<ul class="task-type-options">
<li class="task-type-item">
<label for="name-type"><input type="radio" name="task-type">
<i class="radio-button"></i>
Thing1 -
<span>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</span>
</label>
</li>
<li class="task-type-item">
<label for="name-type"><input type="radio" name="task-type">
<i class="radio-button"></i>
Thing2 -
<span>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</span>
</label>
</li>
</ul>
</form>
То, что я хочу для ввода [тип = «Радио»] быть заменен <i>
, а при проверке измените фоновое положение элемента <i>
. Вот мой CSS
.task-type-item {
width: 100%;
list-style: none;
}
.task-type-item input[type="radio"] {
display: none;
}
.task-type-item i {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAARCAMAAABHG2QlAAAAaVBMVEUAAADLycnLycnMysrMysrNy8vMysrMysrNy8vOzMzMysrMysrOzMzOzMzW1dRBo7VPqbqZy9Oay9Sby9Sv1dvLycnL29vL4eTMysrOzMzW1dTb29vm5eTq6ejq7+/v7u3w7+7y8fD19PPhisAsAAAAD3RSTlMAEB9oeZKmudDV9fb4+fmSK74iAAAA6klEQVQoU52T2RKDIAxFEa244NaKjYqi/v9HNhFLtTN9KPdF5syJIYKMYYIozVSWRgE7woUEBVLwnyDMS21Wo8s8tCCGYaQMEDuwGw7cimmzmYobgaQf3+kTC5xhQVgs2ztLgZ3iTwkWxQROBoEgn7ZPpjzgsMvto92fwDmQMSOYyQDOonI7p4wEzdLVVVXVHc0kxID8uYMnrgbBUn2p0amkt5OBDi2lRGM+AHbSkmXmUmMy2lpb2dD2ANBwAA1gar3UrEqhdz+UBteKDAfI8OrjM4/Pd/t5Ps33+TTufHzugdd987rXf/8/L4tZRR+ZOT5PAAAAAElFTkSuQmCC");
background-repeat: no-repeat;
display: block;
height: 17px;
margin: 0 8px 0 0;
width: 17px;
}
.task-type-item:hover i {
background-position: -17px 0;
}
.task-type-item input:checked ~ i {
background-position: -34px 0;
}
i {
display: block;
}
label {
display: block;
}
Я знаю эту линию
.task-type-item input:checked ~ i {
background-position: -34px 0;
}
не правильно, но то, что я хочу сделать, это изменить <i>
, когда вход «проверено» и не может работать, где я Я ошибаюсь. Я пробовал> и + и не могу заставить их работать.
Я действительно не хочу полагаться на jQuery/JavaScript для этого, кроме OldIE.
Применима ли селектор когда вы удаляете '~ i'? Например: '.task-type-item input: checked {background-color: red; } ' – Andy
Привет, Энди, нет. Это может означать, что я неправильно структурировал HTML, чтобы техническая работа работала, хм. Спасибо :) –