欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

CSS3结合fontawesome字体实现自定义单选框复选框效果

程序员文章站 2022-04-07 15:57:30
...
经常能看到别人做前端的时候,实现一些漂亮的复选框或单选框按钮,由于现在项目原因,很多单选框和复选框看起来很不好看,于是,心血来潮打算自己实现了一遍。

一、首先上css代码:

  1. 其中,说明我以注释的形式写到里面;

  2. 关于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字体实现自定义单选框复选框效果

CSS3结合fontawesome字体实现自定义单选框复选框效果

以上图是我应用的实际截图。


经常能看到别人做前端的时候,实现一些漂亮的复选框或单选框按钮,由于现在项目原因,很多单选框和复选框看起来很不好看,于是,心血来潮打算自己实现了一遍。

一、首先上css代码:

  1. 其中,说明我以注释的形式写到里面;

  2. 关于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字体实现自定义单选框复选框效果

CSS3结合fontawesome字体实现自定义单选框复选框效果

以上图是我应用的实际截图。

更多CSS3结合fontawesome字体实现自定义单选框复选框效果相关文章请关注PHP中文网!

相关标签: css3