Почему Firefox изменяет мои входные/заполнительские цвета?

StackOverflow https://stackoverflow.com/questions/19846343

Вопрос

Я пробовал все, чтобы заставить Firefox использовать цвет, который я указываю в качестве цвета для заполнителя в моих формах. В том числе использование :-moz-placeholder В моем CSS и во всем, но получается, что я никогда не указываю.

Я знаю, что Firefox использует светло -серый цвет своего входа по умолчанию/заполнителя, но почему есть возможность изменить его, если он на самом деле не полностью его изменит?

Вот кодепен, который я сделал, чтобы продемонстрировать, включая All Firefox, специфичные CSS:

Старый: http://codepen.io/jtlr/pen/bpjft

Новый: http://codepen.io/jtlr/pen/ekjhh

Это было полезно?

Решение

Вот что такое стиль заполнителя по умолчанию в Firefox:

input::-moz-placeholder,
textarea::-moz-placeholder {
  opacity: 0.54;
}

без каких -либо стилей цвета (ссылка http://hg.mozilla.org/mozilla-central/file/a07aebef20e7/layout/style/forms.css#l160) Это важно, потому что таким образом, если вы просто установите color а также background При вашем вкладе, и у вас нет особого стиля заполнителей, он забрал установив, который вы установите, но просто заставят его выглядеть более выцветшим.

Так что, если вы хотите полностью ресторить заполнителя, установите его непрозрачность на 1.

Другие советы

Firefox 19+ требует 2 Colons ..::

Так используйте ::-moz-placeholder

Псевдоэлемент :: --:-моз-псевдоним был введен в качестве замены для псевдо-класса: -моз-псевдоочиститель, который был устарел в Firefox 19.

в отличие от :-moz-placeholder

The: -moz-Placeholder Pseudo-Class будет устарел в пользу псевдоэлемента :: --:-Moz-Placeholder в Firefox 19.

Рабочий пример кода - только ff.

::-moz-placeholder {
  color:red;
}

Кроме того, это селектор, в отличие от собственности. Следовательно,

p { :-moz-placeholder: #000000; }

Это неверно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top