Validation indicators
Just include a
<span class="counter-invalid-fields"></span>
inside a form and you have the number of invalid fields.
The same goes with
<span class="counter-valid-fields"></span>
.
You can also add the class form-valid
and form-invalid
to any element inside a form
and it will be shown only when the form is valid or invalid.
Try it yourself:
Browser support
At the moment of writing, Internet Explorer and Edge doesn't support the :valid
pseudoclass on the form
tag. You can use the classes form-valid-supported
and form-valid-unsupported
to show or hide an element based on browser support of this feature.
:valid
pseudoclass on the form
tag!:valid
pseudoclass on the form
tag.Auto required hints
We can auto-add asterisks ( * ) to the label of required fields! Here's how to do this:
- add a
mark-required
class to your form; - add a
<div class="input">
wrapping your label and your input - put the
input
before thelabel
<form class="mark-required">
<div class="input">
<input required>
<label>My required label</label>
</div>
</form>
Why would you ever do this?
- Once you get used to it, it becomes less weird;
- You won't need to put that * on every label. No more "little mistakes";
- If you use JS to toggle the input's required on or off, you don't need to worry about this label. It auto adjusts!
Finally, here's the demo:
Checkbox and Radio
Do you know somebody who uses JS to build nice checkbox
es and radio
s?
You don't need any extra markup or class, just use them!
By the way, this is how our fieldset
looks :)
Textarea resize
You have four classes to control the resizing of textarea
s:
File input
You can have nice file inputs too. Just create a label
with a button class, and put the input
inside it.
In Chrome the default file input button is hidden, but in other browsers there's still no way to do this. However, you can add the class hidden
to you input, so only the external button will be visible, but the file name will be hidden too as it is part of the input
itself.
Be sure to check the example bellow in Chrome and other browsers to be sure which one you wanna choose.
Regular inputs
As expected, you can simply use your input
s, select
s and textarea
s and they will look fine. No extra classes needed: