如何创建:自定义复选框
学习如何使用 CSS 创建自定义复选框和单选按钮。
默认:
OneTwo
One
Two
自定义复选框:
自定义单选按钮:
如何创建自定义复选框
第一步 - 添加 HTML:
<label class="container">One <input type="checkbox" checked="checked"> <span class="checkmark"></span> </label> <label class="container">Two <input type="checkbox"> <span class="checkmark"></span> </label> <label class="container">Three <input type="checkbox"> <span class="checkmark"></span> </label> <label class="container">Four <input type="checkbox"> <span class="checkmark"></span> </label>
第二步 - 添加 CSS:
/* 自定义标签(容器) */ .container { display: block; position: relative; padding-left: 35px; margin-bottom: 12px; cursor: pointer; font-size: 22px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } /* 隐藏浏览器的默认复选框 */ .container input { position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; } /* 创建自定义复选框 */ .checkmark { position: absolute; top: 0; left: 0; height: 25px; width: 25px; background-color: #eee; } /* 鼠标悬停时,添加灰色背景颜色 */ .container:hover input ~ .checkmark { background-color: #ccc; } /* 选中该复选框后,添加蓝色背景 */ .container input:checked ~ .checkmark { background-color: #2196F3; } /* 创建复选标记/指示器(未选中时隐藏) */ .checkmark:after { content: ""; position: absolute; display: none; } /* 选中时显示复选标记 */ .container input:checked ~ .checkmark:after { display: block; } /* 设置复选标记/指示器的样式 */ .container .checkmark:after { left: 9px; top: 5px; width: 5px; height: 10px; border: solid white; border-width: 0 3px 3px 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
如何创建自定义单选按钮
实例
/* 自定义标签(容器) */ .container { display: block; position: relative; padding-left: 35px; margin-bottom: 12px; cursor: pointer; font-size: 22px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } /* 隐藏浏览器的默认单选按钮 */ .container input { position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; } /* 创建自定义单选按钮 */ .checkmark { position: absolute; top: 0; left: 0; height: 25px; width: 25px; background-color: #eee; border-radius: 50%; } /* 鼠标悬停时,添加灰色背景颜色 */ .container:hover input ~ .checkmark { background-color: #ccc; } /* 当单选按钮被选中时,添加蓝色背景 */ .container input:checked ~ .checkmark { background-color: #2196F3; } /* 创建指示器(点/圆 - 未选中时隐藏) */ .checkmark:after { content: ""; position: absolute; display: none; } /* 选中时显示指示器(点/圆) */ .container input:checked ~ .checkmark:after { display: block; } /* 设置指示器样式(点/圆) */ .container .checkmark:after { top: 9px; left: 9px; width: 8px; height: 8px; border-radius: 50%; background: white; }