删除type = date的html5输入元素中的默认文本/占位符

Sre*_*nth 20 html css html5 date css3

我使用类型为日期的html输入元素,

<input type="date">
Run Code Online (Sandbox Code Playgroud)

当我使用上面的元素时,它会在该输入元素中创建一个默认的日期格式,即mm/dd/yyyy文本.如何删除此默认文本?

我尝试在我的页面上添加以下样式,但它也隐藏了所选的日期值,

input[type=date]::-webkit-datetime-edit-text {
    -webkit-appearance: none;
    display: none;
}
input[type=date]::-webkit-datetime-edit-month-field{
    -webkit-appearance: none;
    display: none;
}
input[type=date]::-webkit-datetime-edit-day-field {
    -webkit-appearance: none;
    display: none;
}
input[type=date]::-webkit-datetime-edit-year-field {
    -webkit-appearance: none;
    display: none;
}
Run Code Online (Sandbox Code Playgroud)

Ste*_* A. 14

::-webkit-datetime-edit-year-field:not([aria-valuenow]),
::-webkit-datetime-edit-month-field:not([aria-valuenow]),
::-webkit-datetime-edit-day-field:not([aria-valuenow]) {
    color: transparent;
}
Run Code Online (Sandbox Code Playgroud)

  • 或另一个答案`<input name ="date"type ="text"onfocus ="(this.type ='date')"onblur ="if(!this.value)this.type ='text'">` (8认同)
  • 不适用于Chrome 51.0.2704.103,Mac OS El Capitan.http://take.ms/P7SSK有什么想法吗? (8认同)
  • @FabianSchöner 正确,Chrome 不再支持伪元素上的任何类型的附加选择器。如果您的日期元素不受限制(无最小值/最大值),您可以使用:```input[type="date"]:in-range::-webkit-datetime-edit-year-field, input[type ="日期"]:in-range::-webkit-datetime-edit-month-field, input[type="date"]:in-range::-webkit-datetime-edit-day-field, input[type ="date"]:in-range::-webkit-datetime-edit-text { 颜色:透明;}``` (5认同)

Rob*_*tan 10

接受的答案似乎不再适用于最新的Chrome版本.在版本50.0.2661.102上测试它并且不起作用.

通过添加此代替:

.mdl-textfield:not(.is-dirty) input::-webkit-datetime-edit {
     color: transparent; 
}

input:focus::-webkit-datetime-edit {
    color: rgba(255, 255, 255, .46) !important; 
}
Run Code Online (Sandbox Code Playgroud)

工作样本

资源

  • 这似乎使得该值即使在设置时也会消失(chrome 54) (14认同)
  • 也让价值消失 (2认同)

小智 8

可能的选择

HTML:

<input type='date' required>
Run Code Online (Sandbox Code Playgroud)

CSS:

input[type=date]:required:invalid::-webkit-datetime-edit {
    color: transparent;
}
input[type=date]:focus::-webkit-datetime-edit {
    color: black !important;
}
Run Code Online (Sandbox Code Playgroud)


小智 6

对于

input[type='date']:in-range::-webkit-datetime-edit-year-field,input[type='date']:in-range::-webkit-datetime-edit-month-field,input[type='date']:in-range::-webkit-datetime-edit-day-field,input[type='date']:in-range::-webkit-datetime-edit-text{  color: transparent;}
Run Code Online (Sandbox Code Playgroud)

  • 欢迎来到堆栈溢出!如果您解释了它如何/为什么工作,和/或为什么这个解决方案比已经存在一段时间的现有答案更好,您的答案可能对其他人更有帮助:) (2认同)