A pure CSS toggle switch for form input checkboxes
<link rel="stylesheet" href="toggle-switchy.css">
<label for="ID_HERE" class="toggle-switchy">
<input checked type="checkbox" id="ID_HERE">
<span class="toggle">
<span class="switch"></span>
</span>
</label>
Option | Data Attribute |
---|---|
Rounded | data-style="rounded" |
Square | data-style="square" |
No Text | data-text="false" |
Disabled | add the disabled attribute to the input tag |
Checked | add the checked attribute to the input tag |
Sizes | data-size="xl" data-size="lg" medium (default) data-size="sm" data-size="xs" |
Colors | data-color="red" data-color="orange" data-color="yellow" data-color="green" data-color="blue" data-color="purple" data-color="gray" |
Labels | data-label="left" label on right (default) |
- CSS only - no JavaScript!
- No dependencies
- Fully reponsive
- Fully customizable
- Fully self contained
- 7 color schemes
- Labels on the left and the right
- Keyboard Accessible - accessibility (a11y)
- Focus Styles - accessibility (a11y)
- Supports all modern browsers
- Search engine friendly
- Screen reader friendly
- Doesn't dump a bunch of global styles that'll screw with your other CSS
- Add in error checking to make sure the input element is a checkbox -
input[type='checkbox']
- Better a11y (accessibility) support
- Add
tabindex="0"
to the demo for keyboard accessibility instructions
- IE10 and below doesn't support the smooth slide