一.需求:替换单选按钮默认图标
二.原理:
1.使用label扩大选择热区,隐藏input元素,
3.为该元素添加一个伪元素相对于添加的元素绝对定位且默认不显示,在该伪元素中添加默认选中的背景图
4.在input元素选中后,显示该伪元素,因为伪元素是绝对定位层级比较高所以会显示在上面,即选中的图标
三.HTML
<label>
<input name="price" type="radio" value="1" />
<span className="show-radio"></span>
<p>100-500</p>
</label>
四.CSS
input{
display:none
};
.show-radio{
display: inline-block;
width:34px;
height:35px;
background:url(‘../../imgs/icons.png‘) no-repeat;
background-position:-529px -180px;
vertical-align: middle;
position: relative;
}
.show-radio:before{
content:‘‘;
display: none;
width:34px;
height:35px;
background:url(‘../../imgs/icons.png‘) no-repeat;
background-position:-474px -180px;
vertical-align: middle;
position:absolute;
left:0;
top:0;
}
input:checked~show-radio:before{
display:block;
}
五.效果
近重视实现思路和重要代码,部分省略,望见谅
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。