CSS “и” и “или”

У меня есть довольно большая проблема, потому что я должен проклясть от моделирования некоторых входных типов. У меня было что-то как:

.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.

92
задан Jeff Puckett 11 December 2017 в 16:10
поделиться

4 ответа

&& работает путем объединения нескольких селекторов, например:

<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 */
}
123
ответ дан 24 November 2019 в 06:30
поделиться

И ( && ):

.registration_form_right input:not([type="radio"]):not([type="checkbox"])

ИЛИ ( || ):

.registration_form_right input:not([type="radio"]), 
   .registration_form_right input:not([type="checkbox"])
41
ответ дан 24 November 2019 в 06:30
поделиться

Псевдокласс :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"] {
  ...
}

Здесь есть некоторое дублирование, но это небольшая плата за более высокую совместимость.

3
ответ дан 24 November 2019 в 06:30
поделиться

Наверное, вам не нравится писать больше селекторов и разделять их запятой?

.registration_form_right input:not([type="radio"]),  
.registration_form_right input:not([type="checkbox"])  
{  
}

и BTW это

not([type="radio" && type="checkbox"])  

выглядит для меня скорее как "input, который не имеет обоих этих типов" :)

0
ответ дан 24 November 2019 в 06:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: