经常能看到别人做前端的时候,实现一些漂亮的复选框或单选框按钮,由于现在项目原因,很多单选框和复选框看起来很不好看,于是,心血来潮打算自己实现了一遍。
一、首先上css代码:
其中,说明我以注释的形式写到里面;
关于z-index我是基于一开始的定位考虑来设置的,此处如果谁要用到,自行思考;
/*复选框效果*/
input[type=checkbox] {
width:16px;
height:16px;
z-index:10;
} /* 此处不解释,定义的是复选框宽高*/
input[type=checkbox]::before {
content:" ";
display:inline-block;
color:#000;
width:16px;
height:16px;
background:#fff;
border:1px #1ab394 solid;
z-index:9;
position: absolute;
}/* 此处定义的是在没有选中的情况下的样式,利用::before设置空的content实现 */
input[type=checkbox]:checked::before {
content:"\f00c";
color:#1ab394;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
} /* 此处定义复选框选中时候的样式,此处 在before的content里使用\f00c的awesome字体来实现,这个字体值表示打勾*/
/* 单选框效果 */
input[type=radio] {
width:16px;
height:16px;
z-index:10;
}
input[type=radio]::before {
content:" ";
display:inline-block;
color:#000;
width:16px;
height:16px;
border-radius:8px;
background:#fff;
border:1px #1ab394 solid;
z-index:9;
position: absolute;
}
input[type=radio]:checked::after {
content:" ";
display:inline-block;
width:8px;
height:8px;
background:#1ab394;
border-radius:50%;
position:absolute;
z-index:11;
top:4px;
left:4px;
} /*以上的单选框和复选框类似,但此处选中不是采用更换字体,目前来说,没发现有适合的字体适用于里面的圆点,所以采用after设置一个长宽为8像素的块并设置圆角调整位置放到外层边框内容里实现*/
二、最后呈现的效果:
以上图是我应用的实际截图。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。