Какой лучший способ использовать <input type="radio">
в HTML?
Я ищу семантически хороший HTML, форматирование которого можно настроить с помощью CSS.
Я хочу иметь возможностьстиль / визуализация это выглядит примерно так:
Car: (o) Yes
(X) No
(o) Maybe
Train: (o) Yes
(o) No
(X) Maybe
Address: [An input text box ]
Думая о CSS, я думаю, что я хотел бы, чтобы надписи слева (например, "Автомобиль" и "Автобус") были в некотором родеиз text-align: right
блока?
Я не знаю о переключателях справа: в каком-то <span>
, возможно, с "display: inline-block"
?Или "white-space: pre"
?
Какой тип тегов уровня блока (например, <p>
или <div>
) и / или другие теги (например, <span>
или <br/>
) вы бы порекомендовали?
Редактировать:
Как насчет следующего.
HTML использует <legend>
, как предполагается в HTML, и как рекомендуется в Статья alistapart :
<fieldset>
<legend>Car</legend>
<label><input type="radio" name="car" value="yes"/> Yes</label>
<label><input type="radio" name="car" value="no"/> No</label>
<label><input type="radio" name="car" value="maybe"/> Maybe</label>
</fieldset>
Чтобы Firefox упростил доступ к содержимому <legend>
и поместил его в <span>
:
<fieldset>
<legend><span>Car</span></legend>
<label><input type="radio" name="car" value="yes"/> Yes</label>
<label><input type="radio" name="car" value="no"/> No</label>
<label><input type="radio" name="car" value="maybe"/> Maybe</label>
</fieldset>
Затем используйте специфичный для браузера CSS, описанный в Legends of Style Revised , чтобы расположить содержимое диапазона слева от набора полей.
Действительно ли CSS должен быть настолько сложным и браузерным-конкретный?Какой простейший CSS, который теоретически должен работать, вместо более сложного CSS, необходимого для работы с этими несовершенными браузерами?Если <legend>
трудно позиционировать, тогда какова хорошая (семантическая) альтернатива?