CSS for styling HTML5 date input calendar in Chrom

2019-04-26 16:14发布

Is there a way to style the calendar that pops up if you click the down arrow on a html5 date input?

<form>
    <label for="f-duedate">Due date</label>
        <input id="f-duedate" type="date" name="duedate"
               data-date-format="dd.mm.YYYY">
</form>

a html5 calendar

http://jsfiddle.net/no8a17eo/1/

I know there are pseudo selectors for styling the input field itself:

::-webkit-datetime-edit-fields-wrapper {
}
::-webkit-datetime-edit-text {
}
::-webkit-datetime-edit-month-field, 
::-webkit-datetime-edit-day-field, 
::-webkit-datetime-edit-year-field {
}
::-webkit-inner-spin-button {
    display: none;
}
::-webkit-calendar-picker-indicator:hover {
   background:none;
}

At the bare minimum I only need it to work on the latest version of Google Chrome

1条回答
放我归山
2楼-- · 2019-04-26 16:50

According to Google's FAQ, there is no way to modify the style at this time: https://developers.google.com/web/updates/2012/08/Quick-FAQs-on-input-type-date-in-Google-Chrome

How do I change the appearance of the date picker?

You cannot currently style the appearance of the date picker. In WebKit, we have previously provided ways to style form controls with the -webkit-appearance CSS property or the ::-webkit-foo pseudo class selector. However the calendar popup does not provide such ways in WebKit because it is separate from the document, like a popup menu for , and there is not currently a standard for how to control styling on its sub-elements.

You are left with keeping with Chrome's rendering, or using a custom library over an input type="text" field to prevent conflicts

查看更多
登录 后发表回答