Селектор типа ввода CSS. Возможно ли иметь синтаксис "или" или "нет"?
Если они существуют в программировании),
Если у меня есть HTML-форма со следующими входами:
<input type="text" />
<input type="password" />
<input type="checkbox" />
Я хочу применить стиль ко всем входам, которые либо type="text"
, либо type="password"
.
В качестве альтернативы, я бы согласился на все входные данные, где type != "checkbox"
.
Мне кажется, что я должен это сделать:
input[type='text'], input[type='password']
{
// my css
}
Нет ли способа сделать:
input[type='text',type='password']
{
// my css
}
или
input[type!='checkbox']
{
// my css
}
Я посмотрел вокруг, и не похоже, что есть способ сделать это с помощью одного селектора CSS.
Неважно, конечно, но я просто любопытный кот.
Любые идеи?
Ответы
Ответ 1
CSS3 имеет псевдоклассом : not()
input:not([type='checkbox']) {
visibility: hidden;
}
<p>If <code>:not()</code> is supported, you'll only see the checkbox.</p>
<ul>
<li>text: (<input type="text">)</li>
<li>password (<input type="password">)</li>
<li>checkbox (<input type="checkbox">)</li>
</ul>
Ответ 2
input[type='text'], input[type='password']
{
// my css
}
Это правильный способ сделать это. К сожалению, CSS не является языком программирования.