How to get rid of x and up/down arrow elements of a input date?

HtmlCssInput

Html Problem Overview


enter image description here

The only thing that I need showing up in the box there is the orange triangle, and I am not sure if I need CSS or something else to get rid of the two elements to the left of the triangle.

Is there a way to do so? I am just using the input type date.

Fiddle: http://jsfiddle.net/5M2PD/1/

Html Solutions


Solution 1 - Html

Use the pseudo-class -webkit-inner-spin-button to style it specific for webkit-based browsers:

http://jsfiddle.net/5M2PD/2/

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

If you want to change the style of the dropdown arrow, use the pseudo-class -webkit-calendar-picker-indicator:

input[type=date]::-webkit-calendar-picker-indicator {
    -webkit-appearance: none;
    display: none;
}

To eliminate the clear button, set the input to required:

http://jsfiddle.net/5M2PD/3/

<input type="date" required="required" />

Solution 2 - Html

To remove the clear button, use this:

::-webkit-clear-button
{
    display: none; /* Hide the button */
    -webkit-appearance: none; /* turn off default browser styling */
}

As a side note, to do this in IE10+ (source), use this:

::-ms-clear { }

Note that this one works on <input type="text" />, since IE now places a clear button there as well.

To style the rest of the date control in WebKit browsers, I would recommend having a look at this link. To summarize it, you can play with the following pseudo classes:

::-webkit-datetime-edit { }
::-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 { }
::-webkit-calendar-picker-indicator { }

I would also highly recommend using the following in order to turn off the default browser styles; I've found this to be especially useful when working with mobile browsers:

input[type="date"]
{
    -webkit-appearance: none;
}

Solution 3 - Html

Chrome (v79):

input[type='date']::-webkit-clear-button,
input[type='date']::-webkit-inner-spin-button {
	display: none;
}

Firefox (v73):

Firefox has only the clear button for date inputs. To remove it, the field should be made required.

<input type=’date’ required=’required’ />

Safari (v13):

Safari doesn’t support type=’date’.

Solution 4 - Html

Removes (x) on input type date. Only works for Internet Explorer.

.input_base input[type="date"]::-ms-clear {
  display: none;
}

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionPaulius DragunasView Question on Stackoverflow
Solution 1 - HtmlsaluceView Answer on Stackoverflow
Solution 2 - HtmlveeView Answer on Stackoverflow
Solution 3 - HtmlNamitha RevalView Answer on Stackoverflow
Solution 4 - HtmlMarilyn Negrete AguilarView Answer on Stackoverflow