2015-07-29 4 views
4

Я искал всюду и не могу найти, как изменить цвет текста элемента ввода даты DOM в Chrome. Большинство заполнителей имеют мягкий серый цвет, но тёмный DOM-текст Chrome черный, а затем, когда вы добавляете дату, цвет текста остается неизменным. У Chrome уже есть теневой текст DOM как «mm/dd/yyyy», и это цвет текста, который мне нужно изменить.Как изменить цвет текста ввода даты ввода Chrome?

<input type="date"/> 
+1

Это не местозаполнитель (который определяется 'placeholder =" Some Placeholder "') – Adam

+0

Так что же это? @Adam – rachiebytes

+0

Часть теневого DOM элемента даты. Все остальные 'placeholder' определены в HTML атрибутом 'placeholder', поэтому он не является заполнителем. Стилизация тени DOM: http://www.html5rocks.com/en/tutorials/webcomponents/shadowdom-201/ – Adam

ответ

5

Если поле ввода требуется вы можете использовать :invalid селектор, как это:

input[type=date]:invalid::-webkit-datetime-edit { 
 
    color: #999; 
 
}
<input type="date" required /><br>

Другим решением является добавление класса к входу, который вы удаляете, когда значение введено.

var el = document.getElementById('date'); 
 
el.onchange = function() { 
 
    if (el.value === '') { 
 
     el.classList.add("empty"); 
 
    } else { 
 
     el.classList.remove("empty"); 
 
    } 
 
}
.empty { 
 
    color: #999; 
 
}
<input type="date" id="date" class="empty" />

Примечание: Мой второй пример (один с классом) будет применяться во всех браузерах.

A similar question был дан ответ перед, но это не сработало для меня.

+0

Спасибо! Однако он не решает проблему с моей проблемой. Я искал что-то, у которого общий «заполнитель» имел бы серый цвет текста, но если вы введете свое значение, этот цвет текста значения будет затем черным. В основном, как работает большинство входных элементов. – rachiebytes

+0

Практически это работает. За исключением того, что вам нужно ввести действительную дату, чтобы цвет изменился. Не уверен, что можно изменить цвет ввода даты, когда какое-то значение было введено. –

Смежные вопросы