Змініть колір заповнення вводу HTML5 за допомогою CSS


3975

Chrome підтримує атрибут заміщає на input[type=text]елементи (інші , ймовірно , робити теж).

Але наведене нижче CSSнічого не робить для значення заповнювача:

input[placeholder], [placeholder], *[placeholder] {
    color: red !important;
}
<input type="text" placeholder="Value">

Valueзалишиться greyзамість цього red.

Чи є спосіб змінити колір заповнення тексту?


375
Швидке головне подання даних (не рішення, а лише FYI): якщо я пам'ятаю правильно, введення [placeholder] просто відповідає тегам <input>, які мають атрибут placeholder, він не відповідає самому атрибуту placeholder.
pinkgothic

12
Так, думка перехрестилася, що це може бути, як намагання стилю атрибуту елемента "заголовок". Тож +1 для мислення!
Девід Мердок

5
@MathiasBynens : Псевдоклас, показаний заповнювачем, відповідає вхідному елементу, який відображає такий текст заповнювача. Таким чином, він відповідає <input>тегу, як inputселектор, але показує текст заповнювача просто зараз. Він також не відповідає самому атрибуту-заповнювачу.
HEX

3
@HEX Це не так, як inputселектор, тому що він вибирає всі inputелементи. :placeholder-shownвибирає лише inputелементи, які наразі показують заповнювач, що дозволяє лише стилювати ці елементи та ефективно стилювати текст заповнювача. Що ви намагаєтеся сказати?
Mathias Bynens

1
@HEX (Звичайно, він також вибрав textareaелементи, які відображають текст заповнювача.)
Mathias Bynens

Відповіді:


4809

Впровадження

Існує три різні реалізації: псевдоелементи, псевдокласи і нічого.

  • WebKit, Blink (Safari, Google Chrome, Opera 15+) і Microsoft Гурт використовують псевдо-елемент: ::-webkit-input-placeholder. [ Посилання ]
  • Mozilla Firefox 4-18 використовує псевдоклас: :-moz-placeholder( одна двокрапка). [ Посилання ]
  • Mozilla Firefox 19+ використовує псевдоелемент:, ::-moz-placeholderале старий селектор ще працюватиме деякий час. [ Посилання ]
  • Internet Explorer 10 і 11 використовують псевдо-клас: :-ms-input-placeholder. [ Посилання ]
  • Квітень 2017: Більшість сучасних браузерів підтримують простий псевдоелемент ::placeholder [ Ref ]

Internet Explorer 9 і новіші версії взагалі не підтримують placeholderатрибут, тоді як Opera 12 і новіші не підтримують жоден CSS-селектор для заповнювачів.

Дискусія щодо найкращого впровадження ще триває. Зауважте, що псевдоелементи діють як реальні елементи в тіні DOM . А paddingна inputзаповіті не набуде такого ж кольору фону, як псевдоелемент.

CSS-селектори

Користувацькі агенти зобов'язані ігнорувати правило з невідомим селектором. Див. Селектори 3 рівня :

група селектор , що містить недійсний селектор є недійсною.

Тому нам потрібні окремі правила для кожного браузера. Інакше всі браузери будуть ігнорувати всю групу.

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:    #909;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color:    #909;
   opacity:  1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
   color:    #909;
   opacity:  1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color:    #909;
}
::-ms-input-placeholder { /* Microsoft Edge */
   color:    #909;
}

::placeholder { /* Most modern browsers support this now. */
   color:    #909;
}
<input placeholder="Stack Snippets are awesome!">

Примітки щодо використання

  • Будьте уважні, щоб уникнути поганих контрастів. Схоже, що заповнювач заповнення Firefox має дефолт із зменшеною непрозорістю, тому його потрібно використовуватиopacity: 1 тут.
  • Зауважте, що текст заповнювача просто обрізається, якщо він не підходить - розмір вхідних елементів у них emта протестуйте їх за допомогою великих розмірів мінімального розміру шрифту. Не забудьте переклади: деякі мови потрібно більше місця для одного слова.
  • Веб-переглядачі з підтримкою HTML для placeholder слід перевірити але без підтримки CSS (як Opera).
  • Деякі браузери використовують додатковий CSS за замовчуванням для деяких inputтипів ( email, search). Вони можуть вплинути на візуалізацію несподіваними способами. Використовуйте властивості -webkit-appearance та -moz-appearanceзмініть це. Приклад:
    [type="search"] {
        -moz-appearance:    textfield;
        -webkit-appearance: textfield;
        appearance: textfield;
    }

27
Зауважимо також, що хоча Webkit вважає, що це має досить сильну специфіку, Mozilla цього не робить. Ймовірно, вам доведеться попідпустити декількох імпортерів, щоб вони з’явилися.
dmnc

18
@toscho: дякую за чудову відповідь. Мені просто потрібно було трохи продемонструвати це "наживо", тому ваш приклад можна також отримати тут: jsfiddle.net/Sk8erPeter/KyVXK . Знову дякую.
Sk8erPeter

90
Схоже, що заповнення заповнення Firefox зменшено непрозорістю. Для тих, хто ще важко освіжає і цікавить, чому чорт не здається, що це працює ("чому мій білий текст все ще сірий .."), використовуйте непрозорість: 1
jwinn

8
В IE10 *:-ms-input-placeholderі :-ms-input-placeholderсам по собі не працює, але INPUT:-ms-input-placeholderробить. Незвичайно.
Джаред

37
Примітка для Bootstrap 3: клас "form-control" переосмислює колір завдяки специфіці CSS (тобто "form-control :: - webkit-input-placeholder"), тому вам потрібно бути принаймні такою ж конкретною або використовувати "! Важливо" у вашому CSS. (це було пекло для налагодження, оскільки ні Firebug, ні Devtools, схоже, не показують цей псевдоклас)
Коста,

725

/* do not group these rules */
*::-webkit-input-placeholder {
    color: red;
}
*:-moz-placeholder {
    /* FF 4-18 */
    color: red;
    opacity: 1;
}
*::-moz-placeholder {
    /* FF 19+ */
    color: red;
    opacity: 1;
}
*:-ms-input-placeholder {
    /* IE 10+ */
    color: red;
}
*::-ms-input-placeholder {
    /* Microsoft Edge */
    color: red;
}
*::placeholder {
    /* modern browser */
    color: red;
}
<input placeholder="hello"/> <br />
<textarea placeholder="hello"></textarea>

Це буде стилем всіх inputі textareaзаповнювачів.

Важлива примітка. Не групуйте ці правила. Натомість зробіть окреме правило для кожного селектора (один недійсний селектор у групі робить всю групу недійсною).


2
Документ MSDN, до якого ви пов’язані, заявляє, що підтримується лише в Internet Explorer 10. Все-таки хороша знахідка, але не дуже корисна, доки база користувачів IE10 не стане вагомою (ми можемо розглядати часовий проміжок років для цього).
датгоель

1
Реально ви хочете, щоб стиль заповнювачів на сайті рівномірно стилювався, а не стиль кожного індивідуального введення за ідентифікатором.
BadHorsie

10
Після FF19 ви повинні використовувати :: - moz-placeholder
viplezer

1
Вам потрібно покласти цей CSS у нижній частині вашої таблиці стилів, якщо ви також застосуєте клас на вході, щоб він працював над IE (11). Дивіться цю виделку на JSFiddle jsfiddle.net/9kkef . Відкрийте сторінку як в IE, так і в іншому браузері, в IE ви побачите, що текст заповнювача буде кольором застосованого класу.
Timo002

Іноді, якщо це не працює, додайте <! Важливо> до властивості кольору.
Ахмед На.

277

Ви також можете захотіти стилі текстарії:

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #636363;
}
input:-moz-placeholder, textarea:-moz-placeholder {
  color: #636363;
}

2
на друк в хромі не працює ... будь-яка допомога @media print {input [type = text] .form-control :: - webkit-input-placeholder, input [type = textarea] .form-control :: - webkit -введення-заповнювач {color: #FFFFFF; }}
Махді Алхатіб

107

Для Bootstrap і менших користувачів існує мікс .placeholder:

// Placeholder text
// -------------------------
.placeholder(@color: @placeholderText) {
  &:-moz-placeholder {
    color: @color;
  }
  &:-ms-input-placeholder {
    color: @color;
  }
  &::-webkit-input-placeholder {
    color: @color;
  }
}

16
Або ще простіше, відредагуйте змінну @input-color-placeholder- як правило, вона знаходиться в змінних.less
Вільям

@William, чи не було б простіше визначити сам селектор і використовувати mixin, щоб уникнути необхідності повертатися назад і змінити його, якщо ви хочете зробити для іншого заповнення вводу іншого кольору?
Брандіто

@Brandito - це звучить як крайовий регістр - як правило, колір заповнювача однаковий для всіх елементів форми в дизайні.
Вільям

@William Вибачте, я жахливо формулюю цей матеріал, я подумав, що краще буде використовувати mixin з аргументом кольору введення, який ви хочете, хоча, чесно кажучи, я, мабуть, думаю про крайові випадки м раніше (стилізація заповнювача вводу пошуку, де він знаходиться на кольоровому фоні: P), так шкода, але ви праві, вибачте.
Брандіто

99

На додаток до відповіді Toscho, я помітив деякі невідповідності веб-веб-сайтів між Chrome 9-10 та Safari 5 з підтримуваними властивостями CSS, які варто зазначити.

В зокрема Chrome 9 і 10 не підтримують background-color, border, text-decorationіtext-transform при укладанні заповнювач.

Повне крос-браузерне порівняння тут .


76

Для користувачів Sass :

// Create placeholder mixin
@mixin placeholder($color, $size:"") {
  &::-webkit-input-placeholder {
    color: $color;
    @if $size != "" {
      font-size: $size;
    }
  }
  &:-moz-placeholder {
    color: $color;
    @if $size != "" {
      font-size: $size;
    }
  }
  &::-moz-placeholder {
    color: $color;
    @if $size != "" {
      font-size: $size;
    }
  }
  &:-ms-input-placeholder {
    color: $color;
    @if $size != "" {
      font-size: $size;
    }
  }
}

// Use placeholder mixin (the size parameter is optional)
[placeholder] {
  @include placeholder(red, 10px);
}

Більш гнучкий спосіб - використовувати@content;
мілковський

60

Це буде добре працювати. ДЕМО ТУТ:

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #666;
}
input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #666;
}
input::-moz-placeholder,
textarea::-moz-placeholder {
  color: #666;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #666;
}
<input type="text" placeholder="Value" />


1
Мені довелося додати! Важливого і в Firefox v56
Savage

49

У Firefox та Internet Explorer звичайний колір тексту вводить перевагу властивості кольору заповнювачів. Отже, нам потрібно

::-webkit-input-placeholder { 
    color: red; text-overflow: ellipsis; 
}
:-moz-placeholder { 
    color: #acacac !important; text-overflow: ellipsis; 
}
::-moz-placeholder { 
    color: #acacac !important; text-overflow: ellipsis; 
} /* For the future */
:-ms-input-placeholder { 
    color: #acacac !important; text-overflow: ellipsis; 
}

41

Рішення для крос-браузера:

/* all elements */
::-webkit-input-placeholder { color:#f00; }
::-moz-placeholder { color:#f00; } /* firefox 19+ */
:-ms-input-placeholder { color:#f00; } /* ie */
input:-moz-placeholder { color:#f00; }

/* individual elements: webkit */
#field2::-webkit-input-placeholder { color:#00f; }
#field3::-webkit-input-placeholder { color:#090; background:lightgreen; text-transform:uppercase; }
#field4::-webkit-input-placeholder { font-style:italic; text-decoration:overline; letter-spacing:3px; color:#999; }

/* individual elements: mozilla */
#field2::-moz-placeholder { color:#00f; }
#field3::-moz-placeholder { color:#090; background:lightgreen; text-transform:uppercase; }
#field4::-moz-placeholder { font-style:italic; text-decoration:overline; letter-spacing:3px; color:#999; }

Кредит: Девід Уолш


41

Використовуйте нове, ::placeholderякщо ви використовуєте автопрефіксатор .

Зауважте, що .placeholder mixin від Bootstrap застаріло.

Приклад:

input::placeholder { color: black; }

При використанні автоматичного виправлення вищевказане буде перетворено у правильний код для всіх браузерів.


40

Тепер у нас є стандартний спосіб застосувати CSS до заповнювача вводу: ::placeholderпсевдоелемент із цього чернетки модуля CSS рівня 4.


Це працює в Firefox 51. Я просто збираюся використовувати цей метод; інші браузери наздоганяють мене досить скоро (враховуючи, що жодна функціональність не порушена, якщо не застосовується стандартний стиль).
Lonnie Best

36

Я просто усвідомлюю щось для Mozilla Firefox 19+, що браузер дає значення непрозорості для заповнювача, тому колір не буде таким, який ви дійсно хочете.

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    color: #eee; opacity:1;
}
input:-moz-placeholder, textarea:-moz-placeholder {
    color: #eee; opacity:1;
}
input::-moz-placeholder, textarea::-moz-placeholder {
    color: #eee; opacity:1;
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
    color: #eee; opacity:1;
}

Я перезаписую на opacity1, так що буде добре.


35

Я не пам'ятаю, де я знайшов цей фрагмент коду в Інтернеті (він не був написаний мною, не пам'ятаю, де я його знайшов, ні хто його написав).

$('[placeholder]').focus(function() {
        var input = $(this);
        if (input.val() == input.attr('placeholder')) {
            input.val('');
            input.removeClass('placeholder');
        }
    }).blur(function() {
        var input = $(this);
        if (input.val() == '' || input.val() == input.attr('placeholder')) {
            input.addClass('placeholder');
            input.val(input.attr('placeholder'));
        }
    }).blur();
    $('[placeholder]').parents('form').submit(function() {
        $(this).find('[placeholder]').each(function() {
            var input = $(this);
            if (input.val() == input.attr('placeholder')) {
                input.val('');
            }
        })
    });

Просто завантажте цей код JavaScript, а потім відредагуйте заповнювач місця за допомогою CSS, зателефонувавши за цим правилом:

form .placeholder {
   color: #222;
   font-size: 25px;
   /* etc. */
}

3
Це старий спосіб зробити це, який я досить мало використовував. Недоліком є ​​те, що текст-заповнювач зникає при фокусуванні. Я вважаю, що це дратує, коли інтерфейс також не містить міток поруч із входом. За останні кілька місяців я почав замінювати цей метод використанням тексту заповнення, який, на мою думку, є поліпшенням UX.
Редтопія

4
Інша проблема з таким кодом, як ваш код сервера, має справу з текстом-заповнювачем як порожнім входом, який має проблеми з крайовими випадками, коли ви хочете ввести місто, яке називається "Місто". Замість того, щоб перевіряти значення на тексті заповнювача, вам слід використовувати прапор, модифікований даними на вході, а потім очистити вхід у формі подання, якщо прапор не встановлений. А для інтерфейсів AJAX ви, можливо, навіть не має форми, тому ви повинні мати можливість пов'язувати довільну подію подання із входом. Це одна з тих дійсно простих ситуацій, яких немає.
Whelkaholism

34

Я думаю, що цей код буде працювати, оскільки заповнювач потрібен лише для тексту типу введення. Тож цього одного рядка CSS буде достатньо для ваших потреб:

input[type="text"]::-webkit-input-placeholder {
    color: red;
}

Більше не використовуйте цього. Є ще кілька елементів із заповнювачем та більше префіксів. Дивіться рішення вище або використовуйте ::placeholderразом з автопрефіксатором.
RiZKiT

33

Для користувачів Bootstrap , якщо ви використовуєте class="form-control", може виникнути проблема специфіки CSS. Ви повинні отримати більш високий пріоритет:

.form-control::-webkit-input-placeholder {
    color: red;
}
//.. and other browsers

Або якщо ви використовуєте Менше :

.form-control{
    .placeholder(red);
}

19

Якщо ви використовуєте Bootstrap і не можете змусити це працювати, напевно, ви пропустили той факт, що сам Bootstrap додає ці селектори. Це Bootstrap v3.3, про який ми говоримо.

Якщо ви намагаєтесь змінити заповнювач усередині класу CSS .form-control, тоді вам слід перекрити його так:

.form-control::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:    #777;
}
.form-control:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color:    #777;
    opacity:  1;
}
.form-control::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:    #777;
    opacity:  1;
}
.form-control:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color:    #777;
}

17

Цей короткий і чистий код:

::-webkit-input-placeholder {color: red;}
:-moz-placeholder           {color: red; /* For Firefox 18- */}
::-moz-placeholder          {color: red; /* For Firefox 19+ */}
:-ms-input-placeholder      {color: red;}

17

Як щодо цього

<input type="text" value="placeholder text" onfocus="this.style.color='#000'; 
    this.value='';" style="color: #f00;" />

Немає CSS або заповнювача, але ви отримуєте однаковий функціонал.


15
що трапиться, якщо хтось знову натисне після щось написання .. оригінального тексту, який вони написали, вже не буде!
Lucky Soni

3
@LuckySoni ти міг би це зробити, але я особисто віддаю перевагу першому. <input type="text" value="placeholder text" onfocus="if(!this.haswriting){this.style.color='#000'; this.value='';}" onblur="if(!this.value){this.style.color='#f00'; this.value='placeholder text'; this.haswriting=false;}else{this.haswriting=true};" style="color: #f00;"/>
користувач1729061

9
Навіть друга ваша версія не забезпечує однакову функціональність. Якщо користувач подає значення за <form>допомогою цього вводу, текст заповнювача буде відправлений серверу. Я бачив, як багато сайтів роблять це неправильно.
lqc

Це небезпечно! Якщо ви знову повернетесь до форми, ви втратили все!
Мобарак Алі

15

Я спробував кожну комбінацію, щоб змінити колір на своїй мобільній платформі, і, зрештою, це було:

-webkit-text-fill-color: red;

яка зробила трюк.


2
This property allows you to specify a fill color for text. If it is not set, then the color property will be used to do the fill.Мені це здається, що у вас є якесь інше правило CSS, яке встановлює colorвластивість.
Девід Мердок

8

Для користувача SASS / SCSS, який використовує Bourbon , він має вбудовану функцію.

//main.scss
@import 'bourbon';

input {
  width: 300px;

  @include placeholder {
    color: red;
  }
}

Вихід CSS, ви також можете захопити цю частину та вставити у свій код.

//main.css

input {
  width: 300px;
}

input::-webkit-input-placeholder {
  color: red;
}
input:-moz-placeholder {
  color: red;
}
input::-moz-placeholder {
  color: red;
}
input:-ms-input-placeholder {
  color: red;
}

8

спробуйте цей код для різних вхідних елементів різного стилю

your css selector::-webkit-input-placeholder { /*for webkit */
    color:#909090;
    opacity:1;
}
 your css selector:-moz-placeholder { /*for mozilla */
    color:#909090;
    opacity:1;
}
 your css selector:-ms-input-placeholder { /*for for internet exprolar */ 
   color:#909090;
   opacity:1;
}

приклад 1:

input[type="text"]::-webkit-input-placeholder { /*for webkit */
    color: red;
    opacity:1;
}
 input[type="text"]:-moz-placeholder { /*for mozilla */
    color: red;
    opacity:1;
}
 input[type="text"]:-ms-input-placeholder { /*for for internet exprolar */ 
   color: red;
   opacity:1;
}

приклад 2:

input[type="email"]::-webkit-input-placeholder { /*for webkit */
    color: gray;
    opacity:1;
}
 input[type="email"]:-moz-placeholder { /*for mozilla */
    color: gray;
    opacity:1;
}
 input[type="email"]:-ms-input-placeholder { /*for for internet exprolar */ 
   color: gray;
   }


5

Додавання фактично дуже приємної та простої можливості: css фільтри !

введіть тут опис зображення

введіть тут опис зображення

введіть тут опис зображення

Він буде стильним для всіх, включаючи заповнювач.

Далі буде встановлено обидва входи в одній палітрі, використовуючи фільтр відтінку для зміни кольору. Зараз він дуже добре відображається в браузерах (крім ...)

input {
  filter: sepia(100%) saturate(400%) grayscale(0) contrast(200%) hue-rotate(68deg) invert(18%);
}
<input placeholder="Hello world!" />
<input type="date" /><br>
<input type="range" />
<input type="color" />

Щоб дозволити користувачам динамічно змінювати його, використовуючи колір введення для змін або знаходити нюанси, перегляньте цей фрагмент:

З: https://codepen.io/Nico_KraZhtest/pen/bWExEB

function stylElem() {
  stylo.dataset.hue = ((parseInt(stylo.value.substring(1), 16))/46666).toFixed(0)
  Array.from(document.querySelectorAll('input, audio, video')).forEach(function(e){
      e.style.cssText += ";filter:sepia(100%) saturate(400%)grayscale(0)contrast(200%)hue-rotate("+ stylo.dataset.hue+"deg)invert("+(stylo.dataset.hue/3.6)+"%)"
  out.innerText = e.style.cssText
})()}

stylElem()
<div id="out"></div> <p>
  <input placeholder="Hello world!" />
  <input type="date" /><br>
  <input type="range" />
  <input type="color" />
Colors (change me)-> 
<input type="color" id="stylo" oninput="stylElem()" /> <br><br>
<audio controls src="#"></audio> <br><br> 
<video controls src="#"></video>

Css фільтрує документи: https://developer.mozilla.org/en-US/docs/Web/CSS/filter


4

Гаразд, заповнювачі розміщення поводяться по-різному в різних браузерах, тому вам потрібно використовувати префікс браузера у вашому CSS, щоб зробити їх однаковими, наприклад, Firefox дає прозорість заповнювача заповнення за замовчуванням, тому потрібно додати непрозорість 1 у ваш css, плюс колір, це не велика стурбованість у більшості випадків, але добре, щоб вони були послідовними:

*::-webkit-input-placeholder { /* WebKit browsers */
    color:    #ccc;
}
*:-moz-placeholder { /* Mozilla Firefox <18 */
    color:    #ccc;
    opacity:  1;
}
*::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:    #ccc;
    opacity:  1;
}
*:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color:    #ccc;
}

3

Ви можете змінити колір заповнення вводу HTML5 за допомогою CSS. Якщо випадково ваш конфлікт CSS, ця примітка з кодом працює, ви можете використовувати (! Важливо), як нижче.

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:#909 !important;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color:#909 !important;
   opacity:1 !important;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
   color:#909 !important;
   opacity:1 !important;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color:#909 !important;
}
::-ms-input-placeholder { /* Microsoft Edge */
   color:#909 !important;
}

<input placeholder="Stack Snippets are awesome!">

Сподіваюсь, це допоможе.


3

Ви можете використовувати це для стилю введення та фокусування:

input::-webkit-input-placeholder  { color:#666;}
input:-moz-placeholder  { color:#666;}
input::-moz-placeholder { color:#666;}
input:-ms-input-placeholder  { color:#666;}
/* focus */
input:focus::-webkit-input-placeholder { color:#eee; }
input:focus:-moz-placeholder { color:#eee } /* FF 4-18 */
input:focus::-moz-placeholder { color:#eee } /* FF 19+ */
input:focus:-ms-input-placeholder { color:#eee } /* IE 10+ */

2

Найпростішим способом було б:

#yourInput::placeholder {
    color: red;/*As an example*/
}
/* if that would not work, you can always try styling the attribute itself: */
#myInput[placeholder] {
    color: red;
}


1

Ось рішення з CSS-селекторами

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:    #909;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color:    #909;
   opacity:  1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
   color:    #909;
   opacity:  1;
}
::-ms-input-placeholder { /* Microsoft Edge */
   color:    #909;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color:    #909;
}
  • WebKit, Blink (Safari, Google Chrome, Opera 15+) та Microsoft Edge використовують псевдоелемент:
    :: - webkit-input-placeholder.
  • Mozilla Firefox
    4-18 використовує псевдоклас :: -moz-заповнювач (одна двокрапка).
    Mozilla Firefox 19+ використовує псевдоелемент:
    :: - moz-placeholder, але старий селектор ще працюватиме деякий час.
  • Internet Explorer 10 і 11 використовують псевдоклас:
    :: -ms-input-placeholder.
  • Internet Explorer 9 і новіші версії взагалі не підтримують атрибут placeholder, тоді як Opera 12 і новіші не підтримують жоден CSS-селектор для заповнювачів.

0

Частина HTML:

 <form action="www.anything.com">
 <input type="text" name="name"
  placeholder="Enter sentence"/>
  </form>

Я покажу, як змінити колір вираження "Ввести речення" за допомогою CSS:

  ::placeholder{
  color:blue;
   }
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.