Types
Input
A standard input
File Input
A file input
Invisible File Input
A file input can be made invisible so you are able to design another element to trigger the file dialog.
To accomplish this, you have to use a corresponding <label>
element. This can be styled as desired, most probably as a button element
States
Focus
An input field can show a user is currently interacting with it
Loading
An icon input field can show that it is currently loading data
Disabled
An input field can show that it is disabled
Error
An input field can show the data contains errors
Some input types like "week", "date", "email", "url", etc. have a browser inbuild validation and will automatically get the error styling when those get invalid. In general all input field types, which have the required attribute set and are empty, are considered invalid.
Variations
Icon
An input can be formatted with an icon
Labeled
An input can be formatted with a label
Action
An input can be formatted to alert the user to an action they may perform
File Action
A File action input allows custom content inside the file trigger button. File action input buttons have to be made out of a label element.
Transparent
A transparent input has no background
Inverted
An input can be formatted to appear on dark backgrounds
Fluid
An input can take the size of its container
Size
An input can vary in size
Textarea
Using the input class you can also use some features on textarea
as well