Обновление — 24 марта 2016 г.
Я хотел обобщить опасения, но похоже, что это было понято конкретно, мой плохой. Этот ответ является 100% решением примера, который я использовал ранее.
Обратитесь к этому CodePen.
Итак, идея Стиль пустого текстового поля заключалась в следующем.
textbox:empty ~ label {
// position it as floating label
}
Похоже, сейчас это невозможно в CSS, возможно, в будущем.
Спасибо всем за вашу помощь.
Обновление – 23 марта 2016 г.
Этот ответ близок. Но использовать :invalid
нельзя, так как это делает поле обязательным с атрибутом required=true
.
Пожалуйста, обратитесь к этому CodePen для получения желаемого поведения с javascript. Демонстрация предназначена для объясняя, как это должно вести себя, использование javascript не является предполагаемым поведением. Кроме того, цвет используется только для контраста и не имеет ничего общего с проверкой
Есть ли способ задать стиль пустому текстовому полю только с помощью CSS?
Я попробовал :empty
pseudo-class
, к сожалению, textbox
всегда определяется как пустой; так как у него нет детей или текстового узла. Если быть точным, textbox
— это самозакрывающийся тег.
Псевдокласс :empty представляет любой элемент, у которого вообще нет дочерних элементов. Учитываются только узлы элементов и текст (включая пробелы).
Любой указатель будет полезен.
active
иfocus
говорят вам, пусто поле или нет. - person sarbbottam   schedule 24.03.2016