如何更改输入类型=“日期”日期选择器的外观?

问题描述 投票:0回答:2

我想将输入类型=“日期”日期选择器的默认外观从箭头更改为日历图标,并使其始终可见。

谷歌搜索这个问题,发现的信息很少。我看到下面 2012 年的帖子,上面说这是不可能的,事情有变化吗?

https://developers.google.com/web/updates/2012/08/Quick-FAQs-on-input-type-date-in-Google-Chrome

javascript css html date input
2个回答
10
投票

尝试以下代码:

[type="date"]::-webkit-inner-spin-button {
  display: none;
}

[type="date"]::-webkit-calendar-picker-indicator {
  background: #fff url(https://cdn1.iconfinder.com/data/icons/cc_mono_icon_set/blacks/16x16/calendar_2.png) 97% 50% no-repeat
}


/* custom styles */

body {
  padding: 4em;
  background: #e5e5e5;
  font: 13px/1.4 Geneva, 'Lucida Sans', 'Lucida Grande', 'Lucida Sans Unicode', Verdana, sans-serif;
}

label {
  display: block;
}

input {
  border: 1px solid #c4c4c4;
  border-radius: 5px;
  background-color: #fff;
  padding: 3px 5px;
  box-shadow: inset 0 3px 6px rgba(0, 0, 0, 0.1);
  width: 190px;
}
<div>
  <h1>PURE CSS DATE PICKER</h1>
  <label for="dateofbirth">Date Of Birth</label>
  <input type="date" name="dateofbirth" id="dateofbirth">
</div>

您还可以尝试引导日期选择器:Bootstrap Datepicker


-1
投票

基本上我要做的就是将输入包装在相对定位的 div 中 将绝对位置的日历图标放在输入之后

HTML:

<div class="date-input-wrapper">
      <input type="date" required />
      <img src="your_icon.svg">
      OR
      <i class="some-icon-font some-icon">
</div>

CSS:

input[type=date]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    display: none;
}
input[type=date]::-webkit-calendar-picker-indicator {
    -webkit-appearance: none;
    display: none;
}
© www.soinside.com 2019 - 2024. All rights reserved.