Два двоеточия были введены чтобы различать псевдоэлементы от псевдоклассов, хотя для псевдоэлементов из CSS2 можно по преднему использовать и одно двоеточие в рамках обратной совместимости. Но при этом для новых, введённых в CSS3, псевдоэлементов в спецификации запрещают использовать одно двоеточие.
Необходимость обработки сабмит (и совпадения всех default значений в HTML и обработчике, что особенно весело, когда форм много и все с локализацией)
Невозможность ввести default значение
Невозможно отличить по внешнему виду, было уже что-то введено или нет
Некорретная работа с password полями
Такие примеры — издевательство над пользователями, которые обязательно столкнутся со всем вышеперечисленным, но уже потом :)
хммм, а почему у меня получалось стилизовать просто через input.placeholder?
А так да, очень православный атрибут. А альтернативно одаренные браузеры начинают работать за счет небольшой jQuery оплетки.
Нет нет, я понял в чем у меня тогда дело было. Тогда по макету плейсхолдер как раз и должен был быть такой же серый, как идет по умолчанию. Т.е. мой код игнорировался, но делалось все равно как надо.
Но где же я видел тогда input.placeholder? Возможно, да, в скриптовой эмуляции.
Судя по таблице Firefox 4 и Safari 5 шагают в ногу со временем.
Когда наконец сделает один нормальный браузер для всех. Хотя везде свои плюсы и минусы.
Технически, Firefox и Safari предлагают разные (и несовместимые) варинты расширения CSS, ни один из которых пока не является стандартным. В первом случае это псевдокласс, во втором пресевдоэлемент.
мне кажется, что только через 4 года можно будет пользоваться этим атрибутом и не беспокоиться о совместимости.
Хотя если вспомнить историю с IE6, то вообще через 10 лет.
да есть уже готовые плагины, только они еще вытаскивают значение из атрибута инпута «placeholder» и обрабатывают события «submit» (и забывают «serialize»)
Спасибо, уже давно хотел иметь возможность изменять хотя бы цвет текста плейсхолдера, а тут, оказывается, такие возможности! Ну, по крайней мере, в теории :-)
Опера смешная, реализовала нативную поддержку плейсхолдера, но не реализовала ни одного способа его стилизации. При том, что джаваскриптовые обертки зачастую детектят нативную поддержку и отключаются.
Нет, по-моему, браузер, который реализовал плейсхолдер, обязан реализовать способы стилизации этого плейсхолдера. Ибо нестилизуемый плейсхолдер хуже чем полное отсутствие плейсхолдера.
Не было никакой специфики до выхода оперы 11. Были браузеры, которые поддерживали плейсхолдер и поддерживали его стилизацию, а были браузеры, которые не поддерживали плейсхолдер. Поэтому ни одна обертка даже не заморачивалась никакой «спецификой». Либо фигачили эмуляцию везде не глядя, либо делали так:
if ('placeholder' in document.createElement('input')) { ... }
А потом появилась опера и все сломала. Пришлось сразу писать для нее отдельные костыли, что усложнило весьма простой изначально код.
В этих плейсхолдерах мне ненравится то, что когда поле становится активным, то подсказка исчезает. Иногда сложно вспомнить что в это поле вводить. Хорошо сделано на сайте me.com — там плейсхолдер исчезает только тогда, когда начинаешь ввод.
Но в этом случае может случиться и так, что пользователь может подумать, что, например «name@example.com» — это уже введённая информация и попытается её выделить (а это у него, естественно, не получится) — в общем возможно лёгкое помешательство.
В этом случае, думаю, будет неплохо изменять цвета плейсхолдера на менее контрастные при фокусировке на поле (видел довольно много подобных реализаций, но где конкретно — сейчас не вспомню). Такой приём почти полностью исключит двоякое толкование плейсхолдера.
Я имел ввиду пример выше «логин — пароль». Вообще, мне больше нравится когда при установки курсора подсказка исчезает, так что думаю, что всё это дело вкуса в какой-то мере.
Это дело не вкуса, удобства пользования. В вашем случае что бы посмотреть, что нужно вводить в поле, где находится курсор, его нужно убрать, потом вернуть.
А Вы уверены, что всем пользователям настолько неудобно, когда исчезает подсказка при установки курсора? Вот исходя из этого вопроса я и решил, что всё это — дело вкуса.
Стилизация HTML5 плейсхолдера с помощью CSS