您现在的位置是:网站首页> 编程资料编程资料
CSS+HTML自定义checkbox效果的实例代码Html中使用自定义图片来实现checkbox显示的方法HTML5实现的自定义Checkbox和Radiobox 很酷的选中动画效果源码通过jQuery实现自定义可以替代html自带的checkbox和radiobox
2023-10-21
246人已围观
简介 checkbox应该是一个比较常用的html功能了,不过浏览器自带的checkbox往往样式不怎么好看,而且不同浏览器效果也不一样.下文给大家分享CSS+HTML自定义checkbox效果,一起看看吧
checkbox应该是一个比较常用的html功能了,不过浏览器自带的checkbox往往样式不怎么好看,而且不同浏览器效果也不一样。出于美化和统一视觉效果的需求,checkbox的自定义就被提出来了。这里对实现方法做个总结。
实现思路
纯css实现的主要手段是利用label标签的模拟功能。label的for属性可以关联一个具体的input元素,即使这个input本身不可被用户可见,有个与它对应的label后,用户可以直接通过和label标签交互来替代原生的input——而这给我们的样式模拟留下了空间。简而言之就是
隐藏原生input,样式定义的过程留给label (那为什么不直接改变checkbox的样式?因为checkbox作为浏览器默认组件,样式更改上并没有label那么方便,很多属性对checkbox都是不起作用的,比如background,而label在样式上基本和div一样'任人宰割')
而在选择事件上,由于css的“相邻选择符(E+F)”的存在,让我们可以直接利用html的默认checkbox,免去了js模拟选择的麻烦。
demo
DEMO的部分CSS3属性只写了webkit前缀,所以建议用webkit内核的浏览器查看本页
HTML代码:
HTML构建完成,接下来是对应的css。
.wrap { width: 500px; background-color: #EEE; border: 2px solid #DEF; } /* 隐藏所有checkbox */ input[type='checkbox'] { display: none; } /* 对label进行模拟.背景图片随便拼凑的,不要吐槽品味*/ /* transition效果是做个背景切换效果,这里单纯演示而已,实际上这个过渡不加更自然*/ label { display: inline-block; width: 60px; height: 60px; position: relative; background: url(//www.chitanda.me/images/blank.png); background-position: 0 0px; -webkit-transition: background 0.5s linear; } /* 利用相邻选择符和checkbox`:checked`的状态伪类来模拟默认选中效果(就是点击后那个勾号的效果) */ /*如果这段代码注释,点击后将没有任何反馈给用户*/ /*因为label本身是没有点击后被选中的状态的,checkbox被隐藏后,这个状态只能手动模拟*/ input[type='checkbox']:checked+label { background-position: 0 -60px; }上面代码的效果如下所示,看起来好像也可以了。
不过仔细想想,貌似缺了点什么:选项对应的提示文字
对css不了解的新人可能这时候第一反应就是在label后面用p标签或者span标签来添加文字。不过这种方式都不怎么优雅。个人建议用css的::before和::after伪元素(::before和:before是一个东西。不过为了把“伪元素”和“伪类”区分出来,W3C建议的写法是伪元素用::而伪类用:)
伪元素的具体内容这里不多说,(其实是我也对它们的掌握就仅限于用用而已,对这个谈不上理解,就不误人子弟了)/* 伪元素的生效很简单,定义`content`就好,其余的属性和普通div一样 */ label::after { content: attr(data-name); /*利用attr可以减少css代码量,data-name写在html部分的label属性里*/ display: inline-block; position: relative; width: 120px; height: 60px; left: 100%; vertical-align: middle; margin: 10px; }当然既然可以用::after模拟label的文字,那也就可以用::before模拟label的checkbox样式,这里就不做解析了。
以上所述是小编给大家介绍的CSS+HTML自定义checkbox效果的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
相关内容
- CSS 学习笔记之CSS SelectorCSS选择器实现字段解析CSS中选择器的权重值的计算CSS: hover选择器的使用详解详解CSS3选择器:nth-child和:nth-of-type之间的差异css3之UI元素状态伪类选择器实例演示css选择器_动力节点Java学院整理 css id选择器使用_动力节点Java学院整理 CSS 属性选择器_动力节点Java学院整理CSS选择器的新用法(推荐)
- 详解CSS3中强大的filter(滤镜)属性详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用通过css3的filter滤镜改变png图片的颜色的示例代码CSS3 中filter(滤镜)属性使用详解jquery和CSS3图片排序过滤搜索插件FilterizrCSS3 filter(滤镜)实现网页灰色或者黑色模式的示例代码
- CSS深入学习之让你认识不一样的marginCSS中margin边界叠加问题及解决方案CSS margin全面了解浅谈css margin重叠CSS 之margin知识点(必看)css布局之负margin妙用及其他实现细说CSS中margin属性的使用 深入解析CSS中margin属性的使用CSS中使用负margin值来调整居中位置CSS属性探秘系列(六):margin通过css属性margin:auto让Div中的Table居中
- HTML+CSS实现单选框、复选框美观的样式利用CSS3实现单选框动画特效示例代码纯css3实现效果超级炫的checkbox复选框和radio单选框CSS3实例分享--超炫checkbox复选框和radio单选框CSS3实现的表单单选框、复选框特效CSS3实现复选框动画特效示例代码 CSS自定义绿色复选框按钮样式使用CSS实现页面复选框的方法纯CSS实现自定义单选框和复选框功能
- CSS中margin和padding的区别浅析css行内元素padding,margin,width,height没有变化css中padding和margin的异同点介绍CSS边距属性定义是用margin还是用padding的两者对比PHPWind7.0风格css样式详解Z-BLOG模板CSS默认样式注释大全简化的CSS Reset:15套CSS重设实例Css Reset(复位)的简单介绍-CSS教程-网页制作-网页教学网
- HTML+CSS实现动态背景登录页面amazeui页面分析之登录页面的示例代码Html制作简单而漂亮的登录页面Div+CSS仿支付宝登录页面Div+CSS仿微信公众平台登录页面如何布局登录页面使用css样式设计一个简单的html登陆界面的实现
- css选择器_动力节点Java学院整理 CSS选择器实现字段解析CSS中选择器的权重值的计算CSS: hover选择器的使用详解详解CSS3选择器:nth-child和:nth-of-type之间的差异css3之UI元素状态伪类选择器实例演示CSS 学习笔记之CSS Selectorcss id选择器使用_动力节点Java学院整理 CSS 属性选择器_动力节点Java学院整理CSS选择器的新用法(推荐)
- 天天飞车新版本攻略心得_烧饼修改器代码刷雷瑟方法技巧推荐_手机游戏_游戏攻略_
- 天天飞车更新版攻略心得_新版本燃油使用技巧教程推荐_手机游戏_游戏攻略_
- 天天飞车葫芦侠修改器烧饼修改器防闪退教程攻略_刷分刷金币心得_手机游戏_游戏攻略_
点击排行
本栏推荐
