checkbox-custom-styles.md
ASCII text
title: Customize an HTML Checkbox date: 2022 Feb 19 updated: 2024 Feb 2
TL;DR: appearance: none;
.
Checkboxes are hard to style. But when you're making a website, they may look ugly.
As you can see here, this bland checkbox does not fit into my clearly great website(/s). But really, it does not fit in at all.
The first step toward styling it how we want it is to give it an appearance of none, and a width and height that are what you want.
input[type="checkbox"] { appearance: none; width: 15px; height: 15px; background-color: grey; }
Now we can do whatever we want to it. You're also able to add a :checked
sudo to change certain elements(like the background-color
) depending on if the checkbox is checked or not.
input[type="checkbox"] { appearance: none; width: 15px; height: 15px; background: #000; border: 1px #fff solid; border-radius: 2px; } input[type="checkbox"]:checked { background: #ce5aff; }
1title: Customize an HTML Checkbox 2date: 2022 Feb 19 3updated: 2024 Feb 2 4 5TL;DR: `appearance: none;`. 6 7Checkboxes are hard to style. But when you're making a website, they may look ugly. 8 9<input type="checkbox" style="all: revert;" /> 10 11As you can see here, this bland checkbox does not fit into my clearly great website(/s). But really, it does not fit in at all. 12 13The first step toward styling it how we want it is to give it an appearance of none, and a width and height that are what you want. 14 15```css 16input[type="checkbox"] { 17appearance: none; 18width: 15px; 19height: 15px; 20background-color: grey; 21} 22``` 23 24<iframe src="/blog-files/checkbox-custom-styles-ex1.html" style="background: #000; border: none"></iframe> 25 26Now we can do whatever we want to it. You're also able to add a `:checked` sudo to change certain elements(like the `background-color`) depending on if the checkbox is checked or not. 27 28```css 29input[type="checkbox"] { 30appearance: none; 31width: 15px; 32height: 15px; 33background: #000; 34border: 1px #fff solid; 35border-radius: 2px; 36} 37 38input[type="checkbox"]:checked { 39background: #ce5aff; 40} 41``` 42 43<iframe src="/blog-files/checkbox-custom-styles-ex2.html" style="background: #000; border: none"></iframe> 44