【微信小程序】关于实现自定义图片代替checkbox样式的记录

news2024/11/9 0:45:25

前言

checkbox很好使,使用中往往需要改变它的样式。
记录一下用自定义的图片代替原有样式的过程。
关于把checkbox从:在这里插入图片描述变成在这里插入图片描述的过程

正文

思路

问题拆分:
①如何修改checkbox的样式
②如何使用图片代替原有样式

如何修改checkbox的样式

修改下面的几个选项即可

1、未选中的背景样式:.wx-checkbox-input
2、选中后的背景样式 : .wx-checkbox-input.wx-checkbox-input-checked
3、选中后的图标的样式:.wx-checkbox-input.wx-checkbox-input-checked::before
  • 可以改变宽高、字体大小之类的;
  • 选中后图标的样式可以设置 content=" ";
  • 使用的时候,如果直接写 checkbox wx-checkbox-input,修改的就是单页全部的checkbox。
  • 如果仅针对某部分的checkbox,就在其上使用自定义类名,如 class:“my-checkbox”,再针对性修改。

乱入的尝试一:关于使用css绘制空心和实心三角的方法

但是用到了伪类,再叠加修改checkbox样式的话,显得有些复杂,所以放弃。

如何使用图片代替原有样式

  • 使用属性:background:url(' ')
  • 注意:如果设置背景图片的路径用的是本地的,就会报错并且显示不出来。
    • 可选的解决方法:
      1. base64在线转换,转换后代码很长,不太美观。
      2. 使用网络图片,把图片放服务器上,然后引用。(用的这个,比较方便)
  • 有图片了就修改它的样式,需要做一下背景图片的自适应
 /* 背景图片显示尺寸(放大/缩小背景图) */
			background-size: 50rpx 50rpx;  /* 通过像素设置 */
			background-size: 50% 50%;    /* 通过百分比设置 */
			background-size: cover;      /* 覆盖:图片成比例填满盒子。可用于适配 */
			background-size: contain;     /* 包含:图片成比例放大,可能不会填满盒子。可用于适配  */

完成!

代码

  <checkbox class="edit-checkbox"/>
.edit-checkbox {
  width: 30rpx;
  height: 30rpx;
}

/*checkbox未选中时样式 */
.edit-checkbox .wx-checkbox-input {
  /* 自定义样式.... */
  /* background-color: transparent; */
  /* border: none; */
  background: url('https:xxx.png')no-repeat center;
  /* background-size: 200px 200px; */
  /* 通过像素设置 */
  background-size: 50% 50%;
  /* 通过百分比设置 */
  background-size: cover;
  /* 覆盖:图片成比例填满盒子。可用于适配 */
  background-size: contain;
  /* 包含:图片成比例放大,可能不会填满盒子。可用于适配  */

  border: none;
  width: 40rpx;
  height: 40rpx;
}

/*checkbox选中后样式  */
.edit-checkbox .wx-checkbox-input.wx-checkbox-input-checked {
  border: none;
  background-color: transparent;

  background: url('https:xxx.png')no-repeat center;
  /* background-size: 200px 200px; */
  /* 通过像素设置 */
  background-size: 50% 50%;
  /* 通过百分比设置 */
  background-size: cover;
  /* 覆盖:图片成比例填满盒子。可用于适配 */
  background-size: contain;
  /* 包含:图片成比例放大,可能不会填满盒子。可用于适配  */

  border: none;
  width: 40rpx;
  height: 40rpx;
}

/*checkbox选中后图标样式  */
.edit-checkbox .wx-checkbox-input.wx-checkbox-input-checked::before {
  /* 去除对号 */
  /* content: '×'; */
  /* background: #fff; */
  /* width: 36rpx;
  height: 36rpx;
  border-radius: 50%;
  color: red; */
  display: none;
}

扩展

  • 注意:组件里面修改不了checkbox的默认样式,可以在使用该组件的页面进行样式修改 参考
    -checkbox的disabled样式
 .wx-checkbox-input.wx-checkbox-input-disabled {
    border: none;
    background: #f3b19a;
}

参考

  • 微信小程序如何修改radio和checkbox的默认样式和图标
  • 微信小程序 本地资源图片无法通过 WXSS 获取,可以使用网络图片,或者 base64,或者使用image标签。
  • 微信小程序设置背景图片不显示问题解决方法
  • CSS3 背景图片显示尺寸(放大/缩小背景图)(background-size) (背景适配 自适应)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/420767.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

氢原子的电子轨道半径、能量、速度

在https://blog.csdn.net/qq_35379989/article/details/130065868?spm1001.2014.3001.5501中我们已经给出了波尔模型的三大假设&#xff1a;定态假设、跃迁假设以及角动量量子化。 一、氢原子的轨道半径 在跃迁假设中&#xff0c;通过设定波尔模型轨道能量&#xff1a;与电子…

各种商业版本的ChatGPT已经推出了,还有必要搞个人的Chat吗?

一、引言 虽然市面上已经存在许多商业版本的ChatGPT交互产品&#xff0c;但在我们的开发中&#xff0c;决定专注于打造一个更加个性化、更贴合个人需求的智能助手。我们相信&#xff0c;每个人都是独一无二的&#xff0c;他们的需求也是各不相同的。因此&#xff0c;个人ChatG…

浅析PHP代码审计中的SQL注入漏洞

浅析PHP代码审计中的SQL注入漏洞1.概述2.普通注入3.编码注入宽字节注入二次urldecode注入4.漏洞防范gpc/rutime魔术引号过滤函数和类addslashes函数mysql_[real_]escape_string函数intval等字符转换PDO prepare预编译1.概述 SQL注入的攻击方式有下面几种&#xff1a; 在权限较…

常用电阻的作用

1、限流&#xff1a; 根据公式&#xff1a;I U / R&#xff1b;可知&#xff0c;电压固定的情况下&#xff0c;电阻越大&#xff0c;电流越小 常用于保护器件&#xff0c; 例如&#xff1a;MCU的输入输出信号线串联电阻&#xff0c;以避免电流过大&#xff0c;损坏元器件 …

快鲸scrm助力眼科机构提效客户运营,提升转化率

眼科机构普遍面临着以下几方面的业务挑战 &#xff08;1&#xff09;存在信任危机&#xff0c;用户决策周期长 眼睛是心灵的窗户&#xff0c;患者在对眼部治疗机构的选择上格外慎重&#xff0c;因而决策周期较长&#xff0c;眼科机构需要通过品牌建设、 IP 的打造、优质的产品…

SDL(2)-加载图片

加载BMP 1.使用SDL_init初始化SDL库 2.使用SDL_CreateWindow创建一个窗口 3.使用SDL_GetWindowSurface获取创建窗口的surface 4.使用SDL_LoadBMP加载一张BMP图片 5.使用SDL_BlitSurface将加载的bmp surface拷贝到窗口的surface 6.使用SDL_UpdateWindowSurface更新到窗口 …

【严重】vm2 <3.9.15 沙箱逃逸漏洞(CVE-2023-29017)

漏洞描述 vm2 是一个沙箱&#xff0c;用于在 Node.js 环境中运行不受信任的代码。宿主对象(Host objects)是指由 Node.js 的宿主环境提供的对象&#xff0c;例如全局对象、文件系统或网络请求等。 vm2 3.9.15之前版本中&#xff0c;当处理异步错误时未正确处理 Error.prepare…

中国大学哪家强?Python爬取排名榜,太棒啦(31)

小朋友们好&#xff0c;大朋友们好&#xff01; 我是猫妹&#xff0c;一名爱上Python编程的小学生。 欢迎和猫妹一起&#xff0c;趣味学Python。 今日主题 如何用Python&#xff0c;抓取并分析2023中国大学排名数据。 用到的Python库有requests、bs4。 requests库 reque…

PixiJS 渲染优化

最近做在线CAD可视化与编辑&#xff0c;对前端的可视化渲染技术进行了选型&#xff0c;对于二维CAD来说一般用canvas就够了&#xff0c;但是canvas每一次平移&#xff0c;缩放&#xff0c;更新数据都需要重新计算渲染所有的图形数据&#xff0c;数据一多就显得非常卡。如果使用…

TCP和UDP在实际工作中的应用

前言 日常在网上浏览一些文章时都会看到一些介绍TCP和UDP的文章&#xff0c;每次都是草草浏览&#xff0c;而没有深入的去研究&#xff0c;这几天在做日志采集工具的时候恰好遇到一个问题&#xff0c;就是采集端将采集到的内容发送到服务端时这里采用的通信协议应该如何考量&a…

SpringBoot源码分析

SpringBoot源码分析1.启动类分析2.SpringBoot的项目启动流程1.SpringApplication构造函数1&#xff09;deduceFromClasspath()2&#xff09;getSpringFactoriesInstances2.1&#xff09;loadFactoryNames加载类名称2.2&#xff09;createSpringFactoriesInstances创建实例2.run…

gradle环境搭建

目录 gradle是什么 gradle环境搭建 IDEA 配置 Gradle 创建 Gradle 项目 gradle是什么 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置&#xff0c;也增加了基于Kotlin语言的kotlin-based …

Java基础总结(二)

文章目录一、ObjectObject中的成员方法&#xff08;11个&#xff09;toStringequalsclone二、Objects三、BigInteger和BigDecimaBigIntegerBigDecima四、正则表达式五、DateJDK7前时间相关类SimpleDateFormat类Calendar类JDK8新增时间相关类六、包装类一、Object 没有一个属性…

【密码算法 之十四】非对称算法,ECC椭圆曲线算法 之 ECDSA、ECDH、SM2、SM9等

文章目录1. ECC椭圆曲线1.1 曲线类型1.2 曲线标准1.3 表示方法1.4 曲线运算1.4.1 点加&#xff08;Point Addition&#xff09;1.4.2 点乘&#xff08;Point Multiplication&#xff09;1.4.3 倍点&#xff08;Point Double&#xff09;2. ECDSA2.1 私钥签名2.2 公钥验签3. ECD…

Java——旋转数组的最小数字

题目链接 牛客在线oj题——旋转数组的最小数字 题目描述 有一个长度为 n 的非降序数组&#xff0c;比如[1,2,3,4,5]&#xff0c;将它进行旋转&#xff0c;即把一个数组最开始的若干个元素搬到数组的末尾&#xff0c;变成一个旋转数组&#xff0c;比如变成了[3,4,5,1,2]&…

Stable Diffusion成为生产力工具(五):放大并修复老照片、马赛克照片、身份证件照

S&#xff1a;你安装stable diffusion就是为了看小姐姐么&#xff1f; I &#xff1a;当然不是&#xff0c;当然是为了公司的发展谋出路~~ 预先学习&#xff1a; 安装webui《Windows安装Stable Diffusion WebUI及问题解决记录》。运行使用时问题《Windows使用Stable Diffusion时…

Kubernetes 多集群管理工具Kuboard v3

目录 一、概述 二、安装和基本使用 2.1 添加k8s集群 2.2 信息查看 2.2.1概要信息查看 2.2.2导入集群的节点信息 2.2.3 存储 2.3创建工作负载 一、概述 Kuboard&#xff0c;是一款免费的 Kubernetes 图形化管理工具&#xff0c;Kuboard 力图帮助用户快速在 Kubernetes 上…

Tomcat8性能优化

文章目录授人以鱼不如授人以渔目的服务器资源Tomcat整体架构Tomcat配置优化Linux环境安装运行Tomcat8AJP连接什么是AJP执行器&#xff08;线程池&#xff09;3种运行模式bionioapr禁用DNS查询添加Listener版本号隐藏压缩传输部署测试用的web项目查看服务器信息查看Linux版本查看…

three.js学习 01-使用最基本的方法创建出来一个threejs立方体,three.js开发环境搭建

1.当前实现的最终效果&#xff1a; 我们将会在页面上使用threejs的渲染器创建场景和相机&#xff0c;并且将一个简单几何体结果的canvas嵌入到我们的网页中 2.环境以及工具介绍&#xff1a; three中文官方文档地址&#xff1a;https://www.three3d.cn/docs/index.html 使用的开…

制作两栏布局的 6+5 种方法:从相当合理到完全错误

一个挑战 假设您需要创建一个两列布局。是的&#xff0c;最简单的那种&#xff1a;左边一列&#xff0c;右边一列&#xff0c;中间有一些空隙。有一个明显的现代解决方案&#xff1a; .columns {display: grid;grid-template-columns: 1fr 1fr;gap: 20px; }完毕&#xff01;当…