How to Align Text Left on iOS Date Inputs (input[type="date"])
By default, inputs of type date on iOS are center-aligned.
<input type="date" />
Text Align Attempts on iOS
Applying text-align: left
and/or text-align: -webkit-left
doesn’t work properly on Safari, iOS 15 and above.
Adding display: block
also doesn’t fix anything.
input {
display: block;
text-align: left;
text-align: -webkit-left;
}
input[type="date"] {
display: block;
text-align: left;
text-align: -webkit-left;
}
Text Align Solution on iOS
When we inspect Safari’s date input on iOS, we’ll see the following:
<input name="example" type="date">
<div pseudo="-webkit-date-and-time-value">Mar 03, 2022</div>
</input>
The child div
element has these following styles:
input::-webkit-date-and-time-value {
margin-top: 0px;
text-align: center;
width: 100%;
}
In order to override the text alignment, we’ll want to target the element using this selector.
input::-webkit-date-and-time-value {
text-align: left;
}