html css 实现自定义复选框 checkbox

html 默认的复选框样式很难看,于是想着自定义实现checkbox样式

思路是:通过字体图标实现

效果图:

步骤:

https://www.iconfont.cn/   字体图标网站,选择复选框 选中和未选中时的图标,并下载下来

2 下载下来解压后文件如下图,把iconfont.ttf 复制到 工程 /font/iconfont.ttf  

3 html 页面 引入字体文件

@font-face {font-family: "iconfont";
  src:url('/fonts/iconfont.ttf?t=2020051102') format('truetype'); 
}

上面步骤完成了字体图标的准备,下面开始 实现复选框的样式

4 去除checkbox自带边框   

       input[type=checkbox]{

            background: none !important;

            background-color: transparent !important;

            outline: none !important;

            -webkit-appearance: none !important;

        }

5 设置选中和未选中时图标     

      input[type=checkbox]:checked:before {

            content: '\edaf';

            font-size: 23px;

            color: #e4393c;

            font-family: "iconfont" !important;

            -webkit-font-smoothing: antialiased;

        }

      input[type=checkbox]:before{

            content: '\e62c';

            font-size: 23px;

            color: #AAAAAA;

            font-family: "iconfont" !important;

            -webkit-font-smoothing: antialiased;

        }

6 说明 伪类 before里的 content: '\e62c'  用的是字体图标,

e62c 的值是怎么确定的? 图标下载后的压缩包里的iconfont.css 文件看看就知道了

同时要使字体图标生效,必须加上:font-family: "iconfont" !important;    这和引入字体图标时的代码是对应的