CSS 点击radio实现两个图片样式切换并且多个radio中只能有一个checked

(编辑:jimmy 日期: 2024/11/1 浏览:2)

我们实现被点击的按钮为红色图片样式,即其它没选中的按钮为灰色图片样式,看下面图片样式:

CSS 点击radio实现两个图片样式切换并且多个radio中只能有一个checked

1、首先我这里创建两个radio:(也可以多声明几个,这里的数据正常是动态获取的)

<input type="radio" name="defaultAddress" class="address_manager_content-d3-left-img" />
<input type="radio" name="defaultAddress" class="address_manager_content-d3-left-img" />

2、为radio添加样式:CSS代码:

.address_manager_content-d3-left-img{
 /* 隐藏原有样式 */
 appearance: none;
 -webkit-appearance: none;
 outline: none;
 /* 增加新样式:未选中时 */
 display: inline-block;
 width: 20px;
 height: 20px;
 position: static;
 margin : 15px 5px 0 0!important;
 background: url(/public/app/gzh/images/address_manager_wxz.png) no-repeat;
 background-size: cover;
}
.address_manager_content-d3-left-img:checked{/* 选中时 */
   background: url(/public/app/gzh/images/address_manager_xz.png) no-repeat;
   background-size: cover;
}

3、说明:(有几个关键性的样式,其它的样式自行调整)

1)隐藏原有的样式 2)将原有的样式替换成图片使用的是url属性 3)关于!important的用法:我的这篇文章有说明 4)background-size:cover属性:把背景图片放大到适合元素容器的尺寸,图片比例不变,但是要注意,超出容器的部分可能会裁掉。(和background-size:100% 100%有点类似) 5)选中元素:checked来设置选中后的样式。

4、经过上面的步骤就可以实现点击radio进行图片样式的切换,这是地址管理用到的一部分,点击回到使用Vue.js实现地址管理。  

总结

以上所述是小编给大家介绍的CSS 点击radio实现两个图片样式切换并且多个radio中只能有一个checked,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!