Technique1 : Blank check for input form
Using the 「placeholder-shown」 attribute
Result
Details
- The attribute used in the CSS part of this input form is placeholder-shown.
- This indicates when a placeholder is displayed.
- In other words, by using 「not」 in the following specification, we can make the button clickable by increasing the transparency of the button when the placeholder is not displayed.
<input placeholder="Please enter a value.">
<button>save</button>
/*
Use opacity to reduce the initial transparency by half.
By using pointer-events, the initial button click is disabled.
*/
button {
opacity: 0.5;
pointer-events: none;
}
/*
Using not(:placeholder-shown), you can use
If you don't see the placeholder, you can use
Automatic setting of pointer-events.
Restore the opacity's transparency as well.
*/
input:not(:placeholder-shown) + button {
opacity: 1;
pointer-events: auto;
}
Technique2 : Check the format of the input form
Using the 「valid and invalid」 attribute
Result
Details
- In the CSS part of this input form, I'm using invalid and valid as attributes.
- This indicates if the form matches the type specified in the input tag's type attribute (valid) or not (invalid).
- In other words, the following specification will change the background color depending on whether the input value matches the format.
<input type="email" placeholder="Enter email address">
<button>save</button>
/*
Using the invalid attribute, the
The background color if the type attribute format does apply.
*/
input:invalid {
background-color: #ee6666;
}
/*
Using the valid attribute, the
The background color if the type attribute format does not apply.
*/
input:valid {
background-color: #95f195;
}
Technique3 : Check the scope of the input form
Using the 「in-range and out-of-range」 attribute
Result
Details
- The CSS parts of this input form use 「in-range」 and 「out-of-range」 attributes.
- This indicates if the range of values specified in the input tag's min and max attributes is met (in-range) or not (out-of-range).
- In other words, the following specification will mean that the background color will be changed depending on whether the input value is beyond the specified numerical range.
<input type="number" min="1" max="20">
<button>save</button>
/*
Using the in-range attribute, the
The background color if it falls within a range of values.
*/
input:in-range {
background-color: #95f195;
}
/*
Using the out-of-range attribute, you can use the
Background color if the value does not fall within a range of values.
*/
input:out-of-range {
background-color: #ee6666;
}
Top comments (0)