Короткий ответ: вы не можете, надежно. Если вы пытаетесь заставить его работать в ряде широко используемых браузеров, таких как IE6, 7, Firefox и т. Д., Вам придется полагаться на JavaScript, а не на CSS, чтобы идентифицировать элементы в вашем документе, которые соответствуют вашим правилам для стиля и применения класс для каждого из этих элементов.
Для кросс-браузерной совместимости вам нужно будет обернуть метки полей в массиве в классифицирующий элемент или применить классы к меткам, чтобы отделить их от обычных меток.
Что бы я здесь сделал, это обернул список из опций радио в (не) упорядоченный список (для смыслового значения) и обычные текстовые поля в один абзац.
например. Нормальное имя: пара значений:
<div class="form_row">
<label for="txtFirstName">First Name</label>
<p>
<input type="text" class="text" name="firstName" id="txtFirstName" />
</p>
</div>
А затем для Имени: Пара массивов:
<div class="form_row">
<label>Gender</label>
<ul>
<li><label for="rdoGenderMale"><input type="radio" class="radio" name="gender" id="rdoGenderMale" value="male" /> Male</label></li>
<li><label for="rdoGenderFemale"><input type="radio" class="radio" name="gender" id="rdoGenderFemale" value="female" /> Female</label></li>
</ul>
</div>
Теперь, чтобы оформить его соответствующим образом, вы пишете свои обычные правила для именных меток:
div.form_row label {font-weight:bold;}
div.form_row ul {list-style:none;}
div.form_row ul label {font-weight:normal;}
hth, ndorfin