Накратко
Селекторът зависи от действително показан placeholder.
Полезно е да знаеш
:placeholder-shown избира input или textarea, които в момента показват текста на своя placeholder. Това е по-конкретно условие от „стойността е празна“. [1]
Пример: input:placeholder-shown { border-style: dashed; }. Поле без placeholder не е подходящ тест за този селектор. При плаващ етикет провери попълнена стойност, автоматично попълване и връщане към празно състояние. Placeholder не замества label: той изчезва при въвеждане и не е устойчиво име на полето. Смисълът на формата трябва да остане ясен и след като потребителят започне да пише.
Източници
За повече подробности и проверка на информацията: