: not (: empty) Селектор CSS не работает?

У меня чертовски много времени с этим конкретным селектором CSS, который не хочет работать, когда я добавляю : not (: empty) . Кажется, он отлично работает с любой комбинацией других селекторов:

input:not(:empty):not(:focus):invalid { border-color: #A22; box-shadow: none }

Если я удалю часть : not (: empty) , она будет работать нормально Даже если я изменю селектор на input: not (: empty) , он все равно не выберет поля ввода, в которые введен текст.Это не работает, или мне просто не разрешено использовать : empty в селекторе : not () ?

Единственное, что я могу придумать, это то, что браузеры все еще говорят что элемент пуст, потому что у него нет дочерних элементов, а есть только «значение». Разве селектор : empty не имеет отдельных функций для входного элемента по сравнению с обычным элементом? Однако это маловероятно, потому что использование : empty в поле и ввод в него чего-либо приведет к исчезновению альтернативных эффектов (потому что оно больше не пустое).

Протестировано в Firefox 8 и Chrome.

87
задан BoltClock 22 August 2017 в 04:49
поделиться

1 ответ

Начиная с заполнителя исчезают на входе, можно использовать:

input:placeholder-shown{
    //rules for not empty input
}
0
ответ дан 24 November 2019 в 07:43
поделиться