checkbox美化之伪类实现checked相应文字提示

本文介绍了一种使用CSS和Vue.js实现的Checkbox美化方法。通过CSS伪元素展示默认和选中状态的文字,结合Vue.js实现数据双向绑定及事件监听。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

效果如下:

HTML:

<ul class="list mt20">
<li v-for="(list,index) in listData" :key="index">
<div @click="goContent(list.orderid)">
<img :src="list.thumb">
<span><b>编号</b>{{list.orderid}}</span>
</div>
<h6>{{list.name}}</h6>
<p>{{list.desc}}</p>

<!--checkbox美化部分-->
<label>
<input type="checkbox" v-model="isCheckGroup" :value="list.orderid" @change="isCheck($event)">
<span>已选中</span>
</label>


<h5>{{list.num}}</h5>
</li>
</ul>

CSS:

/*其他样式代码*/


.list li label{display:block;background:#4f7cff;margin:1rem;height:3.2rem;position:relative;border-radius:0.5rem;overflow:hidden;}
.list li label:before{content:"点击选中";position:absolute;left:0;top:0;width:100%;text-align:center;color:#fff;line-height:3.2rem;}
.list li label input,.list li label input+span{display:none;}
.list li label input:checked+span{background:#333;display:block;position:absolute;left:0;top:0;width:100%;z-index:2;color:#fff;line-height:3.2rem;text-align:center;}

/*注意:
利用:before伪类显示默认文字,如果出现中文乱码的情况将中文转Unicode,
点击选中的Unicode码为:\u70b9\u51fb\u9009\u4e2d再伪类中使用需要将u去掉,如下:
content:"点击选中"转为content:"\70b9\51fb\9009\4e2d"
*/


/*其他样式代码*/

JS:

<script>
export default {
 name: 'list',
 data(){
  isCheckGroup:[],//选中数据  
 },
 methods:{
  //checkbox选中
  isCheck(event) {
   console.log(event.target.checked);
   console.log(event.target.value);
   console.log(this.isCheckGroup);
  },
 }
} 
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值