Размер шрифта-заполнителя размером более 16 пикселей
Я прочитал пару статей о стилизации заполнителя поля ввода, используя ::-webkit-input-placeholder
в HTML5. Он отлично работает, за исключением одного.
Если я попытаюсь увеличить размер шрифта до значения, превышающего 16 пикселей, текст будет "вырезан" внизу. Это происходит независимо от высоты и заполнения самого входа. Кто-нибудь знает способ избежать этой проблемы, используя чистый CSS или javascript?
Я добавил скриншот из двух полей ввода, где заполнители имеют размер шрифта 20 пикселей
![enter image description here]()
Jsfiddle: https://jsfiddle.net/bvwdg86x/
Ответы
Ответ 1
Ввод и его заполнитель должны иметь соответствующие стили шрифта
input {
width: 400px;
padding: 0 20px;
}
input,
input::-webkit-input-placeholder {
font-size: 20px;
line-height: 3;
}
<input type="text" placeholder="My Cool Placeholder Text">
Ответ 2
Стили-заполнители не изменят размер поля ввода и не повлияют на его модель окна. Добавьте размер шрифта на ваш вход, чтобы зафиксировать местозаполнитель от обрезания.
Вы также можете подумать о добавлении стилей-заполнителей для других браузеров...
::-moz-placeholder {} /* Firefox 19+ */
:-moz-placeholder {} /* Firefox 18- */
:-ms-input-placeholder {} /* IE */
Ответ 3
input {
width: 450px;
padding: 0px 15px;
}
input,
input::-webkit-input-placeholder {
font-size: 25px;
line-height: 4;
}
<input type="text" placeholder="My Cool Placeholder Text">
Ответ 4
Тем временем производители браузеров внедрили ::placeholder
.
Вы можете найти текущее состояние совместимости браузера на caniuse.com.
В настоящее время (2019-04-29) имеются следующие заметки:
:: - webkit-input-placeholder для Chrome/Safari/Opera (выпуск Chrome # 623345)
:: - ms-input-placeholder для Edge (также поддерживает префикс webkit)
Ответ 5
Вы должны добавить 'overflow: visible' для заполнителя в вашем CSS, чтобы избавиться от обрезки.
::placeholder{
overflow: visible;
}