У меня есть довольно большая проблема, потому что я должен проклясть от моделирования некоторых входных типов. У меня было что-то как:
.registration_form_right input:not([type="radio")
{
//Nah.
}
Но я не хочу разрабатывать флажки также.
Я попробовал:
.registration_form_right input:not([type="radio" && type="checkbox"])
.registration_form_right input:not([type="radio" && "checkbox"])
.registration_form_right input:not([type="radio") && .registration_form_right input:not(type="checkbox"])
Как использовать &&
? И я должен буду использовать ||
скоро, и я думаю, что использование будет тем же.
Обновление:
Я все еще не знаю, как использовать ||
и &&
правильно. Я ничего не мог найти в документах W3.
&&
работает путем объединения нескольких селекторов, например:
<div class="class1 class2"></div>
div.class1.class2
{
/* foo */
}
Другой пример:
<input type="radio" class="class1" />
input[type="radio"].class1
{
/* foo */
}
||
работает путем разделения несколько селекторов с запятыми, например:
<div class="class1"></div>
<div class="class2"></div>
div.class1,
div.class2
{
/* foo */
}
И ( &&
):
.registration_form_right input:not([type="radio"]):not([type="checkbox"])
ИЛИ ( ||
):
.registration_form_right input:not([type="radio"]),
.registration_form_right input:not([type="checkbox"])
Псевдокласс :not
не поддерживается IE. Вместо этого я бы выбрал что-то вроде этого:
.registration_form_right input[type="text"],
.registration_form_right input[type="password"],
.registration_form_right input[type="submit"],
.registration_form_right input[type="button"] {
...
}
Здесь есть некоторое дублирование, но это небольшая плата за более высокую совместимость.
Наверное, вам не нравится писать больше селекторов и разделять их запятой?
.registration_form_right input:not([type="radio"]),
.registration_form_right input:not([type="checkbox"])
{
}
и BTW это
not([type="radio" && type="checkbox"])
выглядит для меня скорее как "input, который не имеет обоих этих типов" :)