Input Classes
Sizes
All input classes can be used without adding the suffix -xs, -sm, -md, -lg, -xl, etc., which means the height of the element will only expand to accomodate its content with a small amount of padding by default.
Textbox sizingIt is recommended that the height of textboxes and dropdowns is not customised, since the height is preset to match other form controls such as buttons and labels.
Styling
The simplest way to style form controls is to use a single class to set the form control type and size. The syntax is [control type]-[control size].
Example<div class="table-row text-sm col-padding-md"> <div class="table-col"> <input type="text" placeholder="Textbox 1" class="input-sm"> </div> <div class="table-col"> <input type="text" placeholder="Textbox 2" class="input-md"> </div> <div class="table-col"> <input type="text" placeholder="Textbox 3" class="input-xl"> </div> </div>
Input WidthsYou can change the width of input controls by using any of the utility classes, such as width-full to make the control expand to the width of its container element or width-xl to set a fixed width of extra large for example.
Control Classes
The control classes are useful when form controls such as textareas need to match the appearance of other controls. These classes can also be used to style almost any element.
Example<div class="table-row col-padding-lg"> <div class="table-col"> <textarea class="control width-lg height-md-lg"></textarea> </div> <div class="table-col"> <div class="control width-lg height-md-lg"></div> </div> </div>
Labels
The control label classes are sized to match the standard form control heights.
Example<div class="table-row col-padding-sm control-group"> <div class="table-col control-label-sm"> First name </div> <div class="table-col"> <input id="FirstName" type="text" class="input-sm width-full rounded-sm" /> </div> </div>
Control Grouping
ExampleControl GroupingControls grouping classes are provided for backwards compatibity. However, it is recommended that flexbox is used in preference going forward.
<div class="table-row text-sm col-padding-md"> <div class="table-col"> <div class="control-group"> <button class="button-sm menu-button-info background-focus-info-dark rounded-left-sm transition-long"><i class="fa fa-angle-double-left"></i></button> <button class="button-sm menu-button-info background-focus-info-dark transition-long">1</button> <button class="button-sm menu-button-info background-focus-info-dark transition-long">2</button> <button class="button-sm menu-button-info background-focus-info-dark transition-long">3</button> <button class="button-sm menu-button-info background-focus-info-dark rounded-right-sm transition-long"><i class="fa fa-angle-double-right"></i></button> </div> </div> </div>
Group Validation Styling
Styles can be applied to a group of form controls by using one of the following classes. The control-group-* classes must be added to the parent element of the controls that require styling.
In addition to changing the colour of the controls, a validation icon will be added inside the control on the right if it is an HTML input or button. You can also force any individual HTML element to have a validation icon by adding the class instrumentation to it, where the element type would not normally be given one, such as a textarea or div.
Example<div class="table-row col-padding-sm control-group control-group-success"> <div class="table-col control-label-sm"> First name </div> <div class="table-col"> <input id="FirstName" type="text" class="input-sm width-full rounded-sm" /> </div> </div> <div class="table-row col-padding-sm"> <div class="table-col flex-auto"> <textarea class="control control-warning height-md instrumentation"></textarea> </div> </div>
Textboxes
As shown in the table above, textboxes can be set to one of the sizes provided or be set to un-sized. When un-sized, the height of the control will depend on the font size. In the example below, the first textbox inherits an extra small font-size from the row which has the class text-xs applied.
Example<div class="form-row text-xs"> <div class="form-col-20"> <input type="text" class="input width-sm"> </div> </div> <div class="form-row"> <div class="form-col-20"> <input type="text" class="input-sm width-lg"> </div> </div> <div class="form-row"> <div class="form-col-20"> <input type="text" class="input-lg width-full"> </div> </div>
Textareas
Textareas can be styled using the control class. Then any of the width-* and height-* classes can be added to set the size of the control. Most browsers support a resize handle for textareas, but resizing the width is prevented in WebUI to avoid potential form layout distortions.
Example<div class="table-row"> <div class="table-col flex-auto"> <textarea class="control height-lg"> </div> </div>
Dropdowns and Datalists
Select and datalist elements can be styled using the same input classes as textboxes - this ensures that the height and style will match for all input controls. If the select or datalist is being used as a multi-select list, where you need to define the height, then the control class should be used instead of using the input-* classes. Then any of the height-* classes can be added to set the height. See the following example.
Example<div class="table-row"> <div class="table-col"> <select class="input-sm width-lg-xl"> <option value="1">Austria</option> <option value="3">Bulgaria</option> <option value="4">Canada</option> <option value="5">Denmark</option> <option value="6">England</option> <option value="7">Finland</option> <option value="8">Germany</option> </select> </div> <div class="table-col"> <select multiple="multiple" class="control height-lg width-lg-xl scroll-y"> <option value="1">Austria</option> <option value="3">Bulgaria</option> <option value="4">Canada</option> <option value="5">Denmark</option> <option value="6">England</option> <option value="7">Finland</option> <option value="8">Germany</option> </select> </div> </div>
<div class="table-row"> <div class="table-col"> <input list="brands" class="input-sm width-lg-xl"> <datalist id="brands"> <option value="Apple">Apple</option> <option value="Huawei">Huawei</option> <option value="LG">LG</option> <option value="Microsoft">Microsoft</option> <option value="Samsung">Samsung</option> <option value="Sony">Sony</option> </datalist> </div> </div>
Checkboxes and Radio Buttons
Checkboxes
Example<div class="table-row text-sm col-padding-md"> <div class="table-col"> <div class="checkbox border-accent-4"> <input type="checkbox" value="" id="checkbox3" /> <label for="checkbox3"></label> </div> </div> <div class="table-col"> <div class="checkbox border-info"> <input type="checkbox" value="" id="checkbox2" /> <label for="checkbox2"></label> </div> </div> <div class="table-col"> <div class="checkbox border-accent-3 control-disabled"> <input type="checkbox" value="" id="checkbox1" disabled /> <label for="checkbox1"></label> </div> </div> </div>
Checkbox Toggle Switches
Example<div class="table-row col-padding-md"> <div class="table-col"> <div class="toggle-switch-xs accent-1-light rounded-sm"> <input type="checkbox" value="1" id="check-switch-1" /> <label for="check-switch-1" class="background-accent-1 left-transition-medium"></label> </div> </div> <div class="table-col"> <div class="toggle-switch-sm onoff accent-2-light rounded-sm"> <input type="checkbox" value="2" id="check-switch-2" /> <label for="check-switch-2" class="background-accent-2 left-transition-medium"></label> </div> </div> <div class="table-col"> <div class="toggle-switch-md yesno accent-3-light rounded-sm control-disabled"> <input type="checkbox" value="3" id="check-switch-3" disabled /> <label for="check-switch-3" class="background-default left-transition-medium"></label> </div> </div> </div>
Checkbox Toggle Buttons
Example<div class="content-row"> <div class="control-group"> <div class="toggle-button-sm toggle-button-accent-1"> <input type="checkbox" id="checkButton1" checked> <label for="checkButton1" class="transition-medium">Check 1 (preselected)</label> </div> <div class="toggle-button-sm toggle-button-accent-1"> <input type="checkbox" id="checkButton2"> <label for="checkButton2" class="transition-medium">Check 2</label> </div> <div class="toggle-button-sm toggle-button-accent-1"> <input type="checkbox" id="checkButton3"> <label for="checkButton3" class="transition-medium">Check 3</label> </div> </div> </div>
Radio Buttons
Example<div class="table-row text-sm col-padding-md"> <div class="table-col"> <div class="radio border-success"> <input type="radio" value="" name="radiogroup1" id="radio1" /> <label for="radio1"></label> </div> </div> <div class="table-col"> <div class="radio border-accent-1"> <input type="radio" value="" name="radiogroup1" id="radio2" /> <label for="radio2"></label> </div> </div> <div class="table-col"> <div class="radio border-accent-2 control-disabled"> <input type="radio" value="" name="radiogroup1" id="radio3" disabled /> <label for="radio3"></label> </div> </div> </div>
Radio Button Toggle Switches
Example<div class="table-row col-padding-md"> <div class="table-col"> <div class="toggle-switch-xs accent-1-light rounded-sm"> <input type="radio" value="1" id="radio-switch-1" name="radio-switch-1" /> <label for="radio-switch-1" class="background-accent-1 left-transition-medium"></label> </div> </div> <div class="table-col"> <div class="toggle-switch-sm onoff accent-2-light rounded-sm"> <input type="radio" value="2" id="radio-switch-2" name="radio-switch-1" /> <label for="radio-switch-2" class="background-accent-2 left-transition-medium"></label> </div> </div> <div class="table-col"> <div class="toggle-switch-md yesyno accent-3-light rounded-sm control-disabled"> <input type="radio" value="3" id="radio-switch-3" name="radio-switch-1" disabled /> <label for="radio-switch-3" class="background-default left-transition-medium"></label> </div> </div> </div>
Radio Toggle Buttons
Example<div class="content-row"> <div class="control-group"> <div class="toggle-button-sm toggle-button-accent-1"> <input type="radio" name="radioButton" id="radioButton1" checked> <label for="radioButton1" class="transition-medium">Radio 1 (preselected)</label> </div> <div class="toggle-button-sm toggle-button-accent-1"> <input type="radio" name="radioButton" id="radioButton2"> <label for="radioButton2" class="transition-medium">Radio 2</label> </div> <div class="toggle-button-sm toggle-button-accent-1"> <input type="radio" name="radioButton" id="radioButton3"> <label for="radioButton3" class="transition-medium">Radio 3</label> </div> </div> </div>
Lists
Styling Classes
Spacing Classes
- Item 1
- Item 2
- Item 3
- Item 1
- Item 2
- Item 3
- Item 1
- Item 2
- Item 3
- Item 1
- Item 2
- Item 3
<div class="table-row text-sm text-nowrap col-padding-lg"> <div class="table-col"> <ul class="list list-spacing-md"> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> </ul> </div> <div class="table-col"> <ul class="list list-spacing-md list-number"> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> </ul> </div> <div class="table-col"> <ul class="list list-spacing-md list-alpha-upper"> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> </ul> </div> <div class="table-col"> <ul class="list-inline list-spacing-md"> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> </ul> </div> </div>
Range Controls
Range Classes
- 0
- 25
- 50
- 75
- 100
- 0
- 25
- 50
- 75
- 100
<div class="range-series width-full color-dark"> <span>0</span> <span>25</span> <span>50</span> <span>75</span> <span>100</span> </div> <input type="range" value="25" min="0" max="100" class="range width-full" /> <div class="row-spacing-xl"></div> <div class="content-row"> <div class="content-col-20"> <input type="range" value="25" min="0" max="100" class="range range-lg range-success width-full" /> </div> </div> <div class="content-row"> <div class="content-col-20"> <ul class="range-series list-inline margin-initial width-full color-success"> <li>0</li> <li>25</li> <li>50</li> <li>75</li> <li>100</li> </ul> </div> </div> <div class="row-spacing-xl"></div> <div class="content-row"> <div class="content-col-20"> <input type="range" value="25" min="0" max="100" class="range range-xs range-info width-full" /> </div> </div> <div class="content-row"> <div class="content-col-20"> <ul class="range-series list-inline margin-initial width-full color-accent-5"> <li>0</li> <li>25</li> <li>50</li> <li>75</li> <li>100</li> </ul> </div> </div>
Progress Controls
Progress Classes
<div class="progress progress-accent-2 width-full rounded-sm"> <progress value="25" max="100" id="progressbar"></progress> <div class="progress-label color-dark">25%</div> </div>
Badges
Classes
<div class="table-row text-sm col-padding-md"> <div class="table-col"> <div class="badge-square-xs warning"> This is a warning. </div> </div> <div class="table-col"> <div class="badge-round-sm info"> 55 </div> </div> <div class="table-col"> <div class="badge-round-sm dark"> A dark badge. </div> </div> </div>