Сегодня мы разберём вариант кастомного placeholder. Часто бывает что в дизайн макетах обязательные поля имеют звёздочку с цветом отличным от цвета текста самой подсказки.
Что в итоге мы хотим получить: Штатными средствами браузера покрасить такие звёздочки не является возможным. Но мы можем немного схитрить и подменить placeholder на свой блок, полностью заменяя его.
Прежде чем начнём разбираться что тут и как происходит, посмотрим на пример:
https://codepen.io/JustRideK/pen/pGQYzw
Для начала разберём html разметку
1. Слой-обёртка для позиционирования
Первое, что нам надо сделать, это обернуть input в блок, чтобы иметь возможность легче позиционировать элементы.
Для блока-обертки добавим класс ".custom-placeholder" 2. Элемент для текста placholder
В примере элемент строчного тега "span". А чтобы иметь возможность покрасить звёздочку отдельно от текста, эту звёздочку нужно отделить от основного текста. Я использовал аттрибут "data-mark" 3. Текстовое поле input с обязательным указанием