自定义复选框
来源:互联网 发布:劲舞团网吧合作软件 编辑:程序博客网 时间:2024/05/18 09:03
1.为什么要自定义复选框?
因为原生复选框的默认样式比较少,不太美观,而且当我们为其修改样式时,会发现,除了可以设置宽度和高度等少数样式外,其余样式都没有效果。这时,我们需要自己来设计一个漂亮的复选框。
2.如何自定义复选框?
解决方法很简单。主要分为两步。第一步是,添加label元素让其与复选框产生关联。第二步是通过给label元素设置::before伪元素,让其与原生复选框之间生成一个自定义的复选框,然后通过:checked, :focus, :disabled等伪类选择器为自定义复选框丰富样式。
具体实现代码如下:
HTML:
<input type="checkbox" id="running"><label for="running">跑步</label><input type="checkbox" id="game"><label for="game">游戏</label><input type="checkbox" id="study"><label for="study">学习</label><!-- 通过让label元素中for的属性值等于复选框中id的属性值,使其产生关联,之后再点击label,复选框也会被选中或取消选中。 -->
CSS:
//添加自定义复选框input[type="checkbox"] + label::before{ content:"\00a0";//Unicode字符集,生成“空格” display:inline-block; width:12px; height:12px; line-height:12px; border-radius:3px; margin:3px; background-color:yellowgreen;}//添加选中样式input[type="checkbox"]:checked+label::before{ content:"\2713";//Unicode字符集,生成“勾选符号” color:red;}//添加聚焦样式input[type="checkbox"]:focus + label::before{ box-shadow: 0 0 2px 2px #58a;}//隐藏原生复选框#running{ position:absolute; clip:rect(0,0,0,0); //也可以使用display:none等方法隐藏复选框,不过那样就无法用Tab键使复选框聚焦}
效果如下:
附:
Unicode字符集:https://unicode-table.com/cn/#control-character
在线代码演示:https://jsfiddle.net/Anthony_chao/vokuw76p/4/
0 0
- IOS 自定义复选框
- Android 自定义复选框
- html自定义复选框
- 自定义复选框样式
- 自定义复选框样式
- 自定义复选框
- 自定义复选框样式
- Qml自定义复选框
- 自定义复选框,复选框样式修改,重写复选框
- 自定义复选框,复选框样式修改,重写复选框
- android 中的自定义复选框
- 自定义复选框checkbox样式
- CSS3自定义Checkbox复选框
- Android 自定义CheckBox复选框
- Android 自定义CheckBoxPreference的CheckBox复选框
- Android 自定义CheckBoxPreference的CheckBox复选框
- 自定义表格添加复选框列
- CSS3自定义美化复选框Checkbox组合
- SQL中modify name更改数据库名语句
- 部署项目时,启动Tomcat一直出错:Java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter
- ThinkPHP3.2整合七牛云第三方sdk
- NOPI技术实现 Excel表格多个sheet工作簿
- 设置DrawableLayout覆盖整个屏幕
- 自定义复选框
- SQL中CASE搜索函数
- CF
- Spring Cloud构建微服务架构(一)服务注册与发现
- 基本数据类型转换
- Html,CSS导航浮动弹出菜单
- SQL中CASE语句判断星期几
- 样式化加载失败的图片
- 设计模式之(适配器模式)