У меня довольно большая проблема, потому что мне нужно анатематизировать стили некоторых типов ввода. У меня было что-то вроде:
.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.
Ответы:
&&
работает путем объединения нескольких селекторов, например:Другой пример:
||
работает, разделяя несколько селекторов запятыми, например:источник
not
похоже, работает с IE9 и далее (благодаря диаграмме, предоставленной @geofflee).И (
&&
):ИЛИ (
||
):источник
||
случая «ИЛИ» . Обновлено, чтобы уточнить.||
из примеров. Конечно это делается.registration_form_right input
после упрощения, но суть в том, что вы используете,
как||
. Вы можете использоватьinput:not([type="radio"]), input:not([name="foo"])
для нетривиального примера.Чтобы выбрать свойства
a
иb
изX
элемента:Чтобы выбрать свойство
a
ИЛИb
изX
элемента:источник
:not
Псевдо-класс не поддерживается IE. Вместо этого я получил что-то вроде этого:Некоторое дублирование есть, но это небольшая цена за более высокую совместимость.
источник
Вы можете каким-то образом воспроизвести поведение «ИЛИ», используя & и: not.
источник
Думаю, вам не нравится писать больше селекторов и разделять их запятыми?
и, кстати, это
мне больше похоже на «ввод, который не имеет обоих этих типов» :)
источник
radio
, (но было бы выбратьcheckbox
), а второй будет делать обратное. Объединение двух будет содержать обаcheckbox
иradio
.На всякий случай, если кто-то вроде меня застрянет. Пройдя через пост и несколько ударов и проб, это сработало для меня.
источник
Небольшое предостережение. Объединение нескольких
not
селекторов вместе увеличивает специфичность результирующего селектора, что затрудняет переопределение: вам в основном нужно найти селектор со всеми пометками и скопировать и вставить его в новый селектор.not(X or Y)
Селектор может быть большим , чтобы избежать раздуваний специфичности, но я предполагаю , что мы должны придерживаться сочетания противоположностей, как и в этом ответе .источник