checkbox-custom-styles.md
ASCII text
title: Customize an HTML Checkbox
date: 2022 Feb 19
updated: 2024 Feb 1
---
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: #555; border: 1px #252525 solid; border-radius: 2px; } input[type="checkbox"]:checked { background: #ce5aff; }
1--- 2title: Customize an HTML Checkbox 3date: 2022 Feb 19 4updated: 2024 Feb 1 5--- 6TL;DR: `appearance: none;`. 7 8Checkboxes are hard to style. But when you're making a website, they may look ugly. 9 10<input type="checkbox" style="appearance: checkbox;" /> 11 12As 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. 13 14The 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. 15 16```css 17input[type="checkbox"] { 18appearance: none; 19width: 15px; 20height: 15px; 21background-color: grey; 22} 23``` 24 25<iframe src="/blog-files/checkbox-custom-styles-ex1.html" style="background: #fff; border: none"></iframe> 26 27Now 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. 28 29```css 30input[type="checkbox"] { 31appearance: none; 32width: 15px; 33height: 15px; 34background: #555; 35border: 1px #252525 solid; 36border-radius: 2px; 37} 38 39input[type="checkbox"]:checked { 40background: #ce5aff; 41} 42``` 43 44<iframe src="/blog-files/checkbox-custom-styles-ex2.html" style="background: #fff; border: none"></iframe> 45