最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

如何使用纯CSS3美化单选按钮radio的示例代码分享

来源:懂视网 责编:小采 时间:2020-11-27 18:50:37
文档

如何使用纯CSS3美化单选按钮radio的示例代码分享

如何使用纯CSS3美化单选按钮radio的示例代码分享:这种纯CSS3美化单选按钮radio的方法适用于以下情况:1、可兼容IE9以上,需要兼容IE8的要写IE的hack把样式去掉2、只支持单选按钮radio,因为单选按钮选中样式的圆圈可以用CSS做出来,但是复选按钮checkbox的选中效果对勾就需要图片或者图标字体库3、不需要J
推荐度:
导读如何使用纯CSS3美化单选按钮radio的示例代码分享:这种纯CSS3美化单选按钮radio的方法适用于以下情况:1、可兼容IE9以上,需要兼容IE8的要写IE的hack把样式去掉2、只支持单选按钮radio,因为单选按钮选中样式的圆圈可以用CSS做出来,但是复选按钮checkbox的选中效果对勾就需要图片或者图标字体库3、不需要J
这种纯CSS3美化单选按钮radio的方法适用于以下情况:

1、可兼容IE9以上,需要兼容IE8的要写IE的hack把样式去掉

2、只支持单选按钮radio,因为单选按钮选中样式的圆圈可以用CSS做出来,但是复选按钮checkbox的选中效果对勾就需要图片或者图标字体库

3、不需要JS支持切换效果

下图是最终效果图:

纯CSS3美化单选按钮radio0

HTML代码:

<label for="man" class="radio">
 <span class="radio-bg"></span>
 <input type="radio" name="sex" id="man" value="男" checked="checked" /> 男
 <span class="radio-on"></span>
</label>
<label for="woman" class="radio">
 <span class="radio-bg"></span>
 <input type="radio" name="sex" id="woman" value="女" /> 女
 <span class="radio-on"></span>
</label>

CSS代码:

.radio{
 display: inline-block;
 position: relative;
 line-height: 18px;
 margin-right: 10px;
 cursor: pointer;
}
.radio input{
 display: none;
}
.radio .radio-bg{
 display: inline-block;
 height: 18px;
 width: 18px;
 margin-right: 5px;
 padding: 0;
 background-color: #45bcb8;
 border-radius: 100%;
 vertical-align: top;
 box-shadow: 0 1px 15px rgba(0, 0, 0, 0.1) inset, 0 1px 4px rgba(0, 0, 0, 0.1) inset, 1px -1px 2px rgba(0, 0, 0, 0.1);
 cursor: pointer;
 transition: all 0.2s ease;
}
.radio .radio-on{
 display: none;
}
.radio input:checked + span.radio-on{
 width: 10px;
 height: 10px;
 position: absolute;
 border-radius: 100%;
 background: #FFFFFF;
 top: 4px;
 left: 4px;
 box-shadow: 0 2px 5px 1px rgba(0, 0, 0, 0.3), 0 0 1px rgba(255, 255, 255, 0.4) inset;
 background-image: linear-gradient(#ffffff 0, #e7e7e7 100%);
 transform: scale(0, 0);
 transition: all 0.2s ease;
 transform: scale(1, 1);
 display: inline-block;
}

这个方法中最重要的是选中效果的类名:.radio input:checked + span.radio-on

+是CSS2的伪类,其意义为:p+p 选择紧接在 <p> 元素之后的所有 <p> 元素。

也就是找到选中的(:checked)的input,其之后的类名为radio-on的span元素做选中圆圈效果。

网上有很多美化方法是把label做成了圆圈,但是这样的话,单选的文字就必须要要放到label的外面,这导致了点击文字的时候,不能切换单选效果。

所以我在label里加了一个类名为radio-bg的span来专门做后面大的圆圈,再用一个类名为radio-on的span来做选中的前面小的圆圈。

这样就保留了点击label里的文字,也可以切换单选的效果。

文档

如何使用纯CSS3美化单选按钮radio的示例代码分享

如何使用纯CSS3美化单选按钮radio的示例代码分享:这种纯CSS3美化单选按钮radio的方法适用于以下情况:1、可兼容IE9以上,需要兼容IE8的要写IE的hack把样式去掉2、只支持单选按钮radio,因为单选按钮选中样式的圆圈可以用CSS做出来,但是复选按钮checkbox的选中效果对勾就需要图片或者图标字体库3、不需要J
推荐度:
标签: 使用 代码 按钮
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top