Css placeholder textarea: html — change placeholder text color of textarea

Стилизуем Placeholder с помощью CSS 

Используйте псевдоэлемент ::placeholder для стилизации дефолтного текста в элементе input или textarea. Большинство современных браузеров поддерживают это, но для старых браузеров требуются префиксы.

::placeholder { 
 color: deeppink;
 font-size: 5rem;
 text-transform: uppercase;
}

HTML

Префиксы

Используемый мной синтаксис поддерживается большинством современных браузеров:

::placeholder { 
 color: deeppink;
}

Но для более старых браузеров вам нужно будет использовать префиксы поставщика.

/* WebKit, Edge */
::-webkit-input-placeholder {
 color: deeppink;
}

/* Firefox 4-18 */
:-moz-placeholder { 
 color: deeppink;
 opacity: 1;
}

/* Firefox 19+ */
::-moz-placeholder { 
 color: deeppink;
 opacity: 1;
}

/* IE 10-11 */
:-ms-input-placeholder { 
 color: deeppink;
}

/* Edge */
::-ms-input-placeholder { 
 color: deeppink;
}

/* MODERN BROWSER */
::placeholder { 
 color: deeppink;
}

Вау! Я знаю, это огромный список. И вы можете заметить довольно много разных вариантов реализации. Итак, давайте разберем эти различия и поймем, что здесь происходит.

Псевдоэлемент против псевдокласса

Вы можете заметить, что я использую двойное двоеточие ::. Это называется псевдоэлементом и было введено в CSS3. Если бы мы использовали одно двоеточие :, это назвали бы псевдоклассом.

Поскольку псевдоэлемент, :: был представлен в CSS3, а не в более ранних версиях CSS, некоторые старые браузеры, такие как Internet Explorer, просто никогда не поддерживали его. Принимая во внимание, что псевдокласс, : был представлен ранее (в CSS1 и CSS2). Вот почему гораздо больше браузеров, включая Internet Explorer, поддерживают его.

Следовательно, в нашем ::placeholder префиксе поставщика вы будете использовать смесь псевдокласса и псевдоэлемента.

Непрозрачность Placeholder в Firefox по умолчанию

Хорошо, с чем это связано opacity: 1 для Firefox. Это потому, что по умолчанию для placeholder Firefox применяется значение непрозрачности. Таким образом, чтобы переопределить это, мы должны установить его принудительно. Таким образом, наш placeholder будет отображаться и не будет иметь блеклого внешнего вида по умолчанию.

CSS-обработка неверных селекторов

Таким образом, вы также можете подумать, почему мы не просто сгруппировали все префиксы вендоров вместе как в примере ниже:

::-moz-placeholder, /* Firefox 19+ */
:-moz-placeholder /* Firefox 4-18 */
{ 
 color: deeppink;
 opacity: 1;
}

Ну, это потому, что в CSS3 было правило, которое гласит:

группа селекторов, содержащая недопустимый селектор, недействительна.

Давайте посмотрим на пример, чтобы увидеть, что это значит. Вот правильный CSS-селектор

h2 {
 color: blue;
}

Так что в нашем HTML это будет выглядеть как ожидалось

 

Но что произойдет, если мы добавим неверный селектор CSS

h2, /* valid */
h3::poop /* invalid */
{
 color: blue;
}

Так как в группе есть недопустимый селектор CSS. Вся группа будет считаться недействительной, и стилизация не будет применена.

 

Вот почему нам нужны отдельные правила для каждого браузера. В противном случае вся группа будет игнорироваться всеми браузерами.

⭐️ НО! похоже, это можно изменить в CSS4.

Как правило, если в цепочке или группе селекторов присутствует недопустимый псевдоэлемент или псевдокласс, весь список селекторов является недействительным. Если псевдоэлемент (но не псевдокласс) имеет префикс -webkit-, то по состоянию на Firefox 63 браузеры Blink, Webkit и Gecko предполагают, что он действителен, не аннулирует список выбора.

Подробнее об этом читайте в статье Криса Койера «Один неверный псевдо-селектор равен целому игнорируемому селектору»

Поддерживаемые стили

Вот список всех стилей, которые вы можете применить к вашему placeholder:

  • background свойства
  • color
  • font свойства
  • letter-spacing
  • line-height
  • opacity
  • text-decoration
  • text-indent
  • text-transform
  • vertical-align
  • word-spacing

Проблемы доступности

Способность стилизовать заполнители — это круто. Но мне нужно отметить кое-что действительно важное — текст-заполнитель не заменяет элемент метки !! Я был виновен в этом, когда впервые попал в веб-программирование 🙁. Когда ваша форма основана исключительно на инструкциях-заполнителях без меток, это очень вредно для доступности. Доступность важна не только для того, чтобы сделать ваш веб-сайт доступным для всех, но и для повышения удобства работы пользователей. И, в конечном итоге, создание лучшего сайта или веб-приложения.

Вот действительно потрясающая статья о том, как использовать заполнители без каких-либо меток. Ниже приведены три основных тезиса:

  1. Поскольку placeholder исчезает в при вводе, он может напрягать кратковременную память вашего пользователя
  2. Без label пользователи не могут проверить свою работу перед отправкой формы.
  3. Когда появляются сообщения об ошибках, люди не знают, как решить проблему.

Автоматически добавлять Vendor-префиксы

Если вы не хотите иметь дело со всеми префиксами вендоров, вы можете использовать PostCSS с плагином Autoprefixer . Этот плагин будет анализировать ваш CSS и добавлять префиксы.

HTML/Атрибут placeholder (Элемент textarea)

Синтаксис

<textarea placeholder="[значение]">
  ...
</textarea>

Описание

Атрибут / параметр placeholder (от англ. «placeholder» ‒ «заполнитель») указывает краткую подсказку (слово или короткую фразу), предназначенную для помощи пользователю с вводом данных. Краткая подсказка отображается в элементе формы в случае, когда этот элемент не имеет значения. При этом подсказка может быть образцом вводимого значения или кратким описанием ожидаемого формата вводимых данных.

Примечание

  • Как правило, браузеры отображают текст подсказки серым цветом для того, чтобы пользователь мог без особого труда отличить текст подсказки от текста относящегося к значению элемента;
  • Для указания более длинной подсказки или другого поясняющего текста, рекомендуется размещать такой текст рядом с текстовым полем.


Поддержка браузерами

Chrome

Поддерж.

Firefox

Поддерж.

Opera

Поддерж.

Maxthon

Поддерж.

IExplorer

Поддерж.

Safari

Поддерж.

iOS

Поддерж.

Android

Поддерж.


Спецификация

Верс. Раздел
HTML
2.0 Text Area: TEXTAREA
3.2 TEXTAREA multi-line text fields
4.01 17.7 The TEXTAREA element
5.0
4.10.11 The textarea element
The placeholder attribute…
5.1 4.10.11. The textarea element
The placeholder attribute. ..
XHTML
1.0 Extensible HyperText Markup Language
1.1 Extensible HyperText Markup Language


Значения

В качестве значения данного атрибута указывается текст краткой подсказки.


Пример использования

Листинг кода

<!DOCTYPE html>
<html>
<head>
<meta charset=»utf-8″>
<title>Параметр placeholder (Элемент textarea)</title>

</head>
<body>
<h2>Пример использования атрибута «placeholder»</h2>
<textarea rows=»5″ cols=»50″ placeholder=»Поле для ввода многострочного текста»>
</textarea>
</body>
</html>

Параметр placeholder (Элемент textarea)

html — изменить цвет текста заполнителя текстовой области

спросил

Изменено 16 дней назад

Просмотрено 95 тысяч раз

Я знаю, что есть этот пост об изменении текста-заполнителя. Я попытался внедрить в свои теги textarea

 textarea::-webkit-input-placeholder {
цвет: #fff;
}
textarea:-moz-placeholder { /* Firefox 18- */
цвет: #fff;
}
textarea::-moz-placeholder { /* Firefox 19+ */
цвет: #fff;
}
textarea:-ms-input-placeholder {
цвет: #fff;
}
 

но ничего не делает. Что мне не хватает?

Вот как выглядит одно из моих textarea

  

Что касается вашего кода, заключите его в кавычки:

 onchange="{(e) => this. props.handleUpdateQuestion(e, firstQuestion.Id)} "
 

1

Я не уверен, но думаю, что сейчас нет необходимости использовать префиксы.

 textarea::placeholder {
  цвет: #fff;
}
 

2

 ::-webkit-input-placeholder {
       оранжевый цвет;
    }
    :-moz-placeholder { /* До Firefox 18, устарело в Firefox 19*/
       оранжевый цвет;
    }
    ::-moz-placeholder { /* Firefox 19+ */
       оранжевый цвет;
    }
    :-ms-ввод-заполнитель {
       оранжевый цвет;
    }
 

textarea::placeholder {цвет: #fff;}

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Требуется, но никогда не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Стилизация текста-заполнителя с помощью CSS

Используйте псевдоэлемент ::placeholder для стилизации текста-заполнителя в элементе формы или