经常能看到别人做前端的时候,实现一些漂亮的复选框或单选框按钮,由于现在项目原因,很多单选框和复选框看起来很不好看,于是,心血来潮打算自己实现了一遍。
一、首先上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像素的块并设置圆角调整位置放到外层边框内容里实现*/
二、最后呈现的效果:
以上图是我应用的实际截图。
经常能看到别人做前端的时候,实现一些漂亮的复选框或单选框按钮,由于现在项目原因,很多单选框和复选框看起来很不好看,于是,心血来潮打算自己实现了一遍。
一、首先上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像素的块并设置圆角调整位置放到外层边框内容里实现*/
二、最后呈现的效果:
以上图是我应用的实际截图。
更多CSS3结合fontawesome字体实现自定义单选框复选框效果相关文章请关注PHP中文网!