Как установить CSS для отключенных флажков?
Вопрос
Я бы хотел изменить CSS для отключенных флажков в сетке (они слишком сложны для просмотра пользователями).Каков простой способ сделать это?
Мои предпочтения в используемых технологиях (в порядке убывания):
CSS
JavaScript
jQuery
Другое
Решение
Я бы предложил изменить цвет фона ( background-color
формы / fieldset) и посмотреть, сможете ли вы придумать лучший контраст. Если вы просто хотите изменить цвет отключенных (невыбираемых?) Флажков, вы можете попробовать:
input[disabled] {
...
/* CSS here */
...
}
Но если они по какой-то причине отключены, они не должны быть заметно видны? Цель их закрашивания - это, конечно, избежать путаницы между активными / включенными и неактивными / отключенными элементами формы?
Другие советы
Оставьте флажок включенным, но затем добавьте onfocus = this.blur ()
, чтобы его нельзя было щелкнуть.
Или, если вы используете ASP.net (как вы говорите в своем комментарии), оставьте флажок включенным и добавьте следующее в событие Page.Load:
CheckBox1.Attributes.Add("onclick", "return false;");
Мне повезло с несколькими библиотеками JS, чтобы сделать работу. Конечно, мое требование состояло в том, чтобы ящики выглядели совсем иначе, чем стандартный флажок. Следующая библиотека даже соответствует 508. Р>
input: disabled {}
работает для всех браузеров, кроме & # 8212; как вы уже догадались, IE. Для IE, я думаю, вам придется использовать библиотеку JS.
В основном вам нужно прикрепить событие onclick к div, p или любому другому элементу, используемому для сетки, а затем перенести проверенное значение в скрытый элемент, связанный с этим полем в сетке. что очень тривиально, если используется javascript - отметьте jquery, чтобы добавить событие onclick для любого элемента. если щелкнуть, установите значение = 1 для скрытого элемента.
На самом деле с небольшим количеством CSS3 вы можете создать очень простое решение. Вам всегда нужно будет подумать, какую поддержку вы хотите предложить. Но если вам хорошо работать с современными браузерами, просто попробуйте.
Вот HTML
<label>
<input type="checkbox" name="test" />
<span>I accept terms and cons</span><br><br>
<button>Great!</button>
</label>
Вот CSS
button { display: none}
:checked ~ button {
font-style: italic;
color: green;
display: inherit;
}
А вот и ДЕМО http://jsfiddle.net/DyjmM/
Если у вас есть форма со смесью включенных и отключенных флажков, отключение отключенных флажков позволяет избежать путаницы для пользователя.Если предполагается отобразить страницу только для просмотра с флажками (напр.чтобы показать параметры продукта, выбранные в чеке о покупке), то замена элементов ввода флажков изображениями может привести к лучшим результатам.
Заменить
<input type="checkbox" disabled>
<input type="checkbox" disabled checked>
с
<img src="unchecked.gif">
<img src="checked.gif">