H5自定义checkbox样式
借助其它标签样式
思路:
设置checkbox类型的input表单为不可见
自定义div或label标签的常态及选中样式
根据checkbox的状态更新div或label标签的样式
index.vue
</template>
...
<yd-cell-item type="checkbox" >
<div slot="left" style="display: flex; align-items: center;">
<input type="checkbox" v-model="user_agreement" />
<div v-bind:class="[user_agreement ? 'yz-checkbox-checked' : 'yz-checkbox-normal']" style="width: 18px; height: 18px;"></div>
<span style="margin-left: 10px; color: #A1A1A1; font-size: 14px;">我已阅读并同意服务协议及隐私条款</span>
</div>
<!--<yd-cell-item type="checkbox">-->
<!--<span slot="left">我已阅读并同意服务协议及隐私条款</span>-->
<!--<input slot="right" type="checkbox" value="User Agreement" v-model="user_agreement"/>-->
</yd-cell-item>
...
</template>
<style type="text/css">
.yd-cell:after {
border-bottom: 0;
}
</style>
<script>
export default {
name: 'login',
data () {
return {
user_agreement: false
}
}
</script>
style.css
input[type=checkbox] {
display: none;
}
.yz-checkbox-normal {
background-image: url("/static/images/ic_checkbox_normal.png");
background-size: 100% 100%;
border: none;
}
.yz-checkbox-checked {
background-image: url("/static/images/ic_checkbox_checked.png");
background-size: 100% 100%;
border: none;
}
直接定义CSS样式
input[type="checkbox"] {
-webkit-appearance: none; /*清除复选框默认样式*/
background: #fff url("/static/images/ic_checkbox_normal.png") no-repeat; /*复选框的背景图,就是上图*/
background-size: 100% 100%;
width: 16px;
height: 16px;
vertical-align: middle;
outline: none; /*去掉自带的边框*/
border: none;
}
input[type="checkbox"]:checked {
-webkit-appearance: none; /*清除复选框默认样式*/
background: url("/static/images/ic_checkbox_checked.png") no-repeat;
background-size: 100% 100%;
width: 16px;
height: 16px;
vertical-align: middle;
outline: none;
border: none;
}
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/12/h5-custom-checkbox-style/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
打赏
海报
H5自定义checkbox样式
借助其它标签样式
思路:
设置checkbox类型的input表单为不可见
自定义div或label标签的常态及选中样式
根据checkbox的状态更新div或label标签的样式
index.v……
文章目录
关闭
共有 0 条评论