我的编程空间,编程开发者的网络收藏夹
学习永远不晚

CSS中怎么实现一个页面复选框

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

CSS中怎么实现一个页面复选框

本篇文章给大家分享的是有关CSS中怎么实现一个页面复选框,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

第一步 分拆选中/未选中

<input type="checkbox">本身的样式不能修改,所以我们必须借助的帮助;实现选中/未选中区分,那自然就要用到伪类:checked;选择器一定是从外到内、从前到后的,没法选择父级元素,所以不能用<label>去包<input>,那么最终布局就只能是:

CSS Code复制内容到剪贴板

  1. <div>   

  2.     <input type="checkbox" name="q[]" id="q1" />   

  3.     <label for="q1">小宝3225</label>   

  4.     <input type="checkbox" name="q[]" id="q2" />   

  5.     <label for="q2">王老白白白</label>   

  6.     <input type="checkbox" name="q[]" id="q3" />   

  7.     <label for="q3">空夫31</label>   

  8.     <input type="checkbox" name="q[]" id="q4" />   

  9.     <label for="q4">谷大白话</label>   

  10.     <input type="checkbox" name="q[]" id="q5" />   

  11.     <label for="q5">Meathill</label>   

  12.     <input type="checkbox" name="q[]" id="q6" />   

  13.     <label for="q6">一毛不拔大师</label>   

  14. </div>  

很简单哈,不解释了。CSS3新增了“下一节点”选择器 +,用来选择某节点的下一个节点,结合:checked伪类就可以将选中的<input>和它临近的<label>通过改变order属性移到前面去:

CSS Code复制内容到剪贴板

  1. #container {   

  2.   display:flex;   

  3.   flex-direction:row;   

  4.   flex-wrap:wrap;   

  5. }   

  6. #container input,   

  7. #container label {   

  8.   order: 2; //所有选项、label顺序为2   

  9. }   

  10. input[type=checkbox]:checked,   

  11. input[type=checkbox]:checked + label {   

  12.   order: 0; // 越小越靠前   

  13. }  

不过这样只是把选中的内容提前,视觉上没有真正的分割。所以我决定再加入一根分割线,上面是选中的,下面是未选的。这个时候我们需要用到 ~ 这个选择器,选择某节点后面的节点:

CSS Code复制内容到剪贴板

  1. hr {   

  2.   display:none; // 默认情况下,没选任何选项,分割线隐藏   

  3.   order: 1; // 分割线顺序为1   

  4.   width:100%; // 保证独霸一行   

  5. }   

  6. input[type=checkbox]:checked ~ hr {   

  7.   display:block; // 有选项被选中后才会显示分割线   

  8. }  

http://jsfiddle.net/meathill/fPN3p/5/embedded/result/

这样基础功能实现了。不过视觉上,排版仍然不整齐,选中的选项和未选中的选项区分不算太明显,所以下一步我准备美化下checkbox。
第二步,美化CHECKBOX

做法与前面类似,也要用到CSS3新增的选择器。前面为了实现<label>提前,没有用它包裹<input>,所以在选项很多很长导致换行的时候,可能出现复选框和标签脱离的尴尬状况。好在复选框的价值可以用别的样式取代,所以先把小方框隐藏起来,转而将<label>作为操作目标,再来点边框底色圆角(参考自Bootstrap 3),就可以了:

CSS Code复制内容到剪贴板

  1. input[type=checkbox] {   

  2.   display: none;   

  3. }   

  4. label {   

  5.   min-width: 120px;   

  6.   border: 1px solid #CCC;   

  7.   padding: 2px 8px;   

  8.   text-align: center;   

  9.   margin: 0 5px 5px 0;   

  10.   background: #FFF;   

  11.   color: #333;   

  12.   border-radius: 3px;   

  13.   box-sizing: border-box;   

  14. }   

  15. label:hover {   

  16.   border-color: #ADADAD;   

  17.   background: #EBEBEB;   

  18.   cursor: pointer;   

  19. }   

  20. input[type=checkbox]:checked + label {   

  21.   order: 0;   

  22.   background-color: #5cb85c;   

  23.   border-color: #4cae4c;   

  24.   color: #FFF;   

  25. }   

  26. input[type=checkbox]:checked + label:hover {   

  27.   background-color: #47a447;   

  28.   border-color: #398439;   

  29. }  

以上就是CSS中怎么实现一个页面复选框,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

CSS中怎么实现一个页面复选框

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用CSS怎么实现一个单选框和复选框功能

使用CSS怎么实现一个单选框和复选框功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在html中,
2023-06-08

PHP中怎么实现一个静态页面

这篇文章将为大家详细讲解有关PHP中怎么实现一个静态页面,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一,PHP脚本与动态页面。PHP脚本是一种服务器端脚本程序,可通过嵌入等方法与HTML文
2023-06-17

JavaScript定义简单的页面复选框实现全选操作

本文主要介绍了JavaScript定义简单的页面复选框实现全选操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-18

jQuery如何实现选择或者不选页面上全部复选框

这篇文章主要为大家展示了“jQuery如何实现选择或者不选页面上全部复选框”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQuery如何实现选择或者不选页面上全部复选框”这篇文章吧。选择或者不选
2023-06-27

css怎么禁止选中页面内容

小编给大家分享一下css怎么禁止选中页面内容,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!css的选择器有哪些css的选择器可以分为三大类,即id选择器、clas
2023-06-14

怎么在Android中实现一个双重选择框功能

这期内容当中小编将会给大家带来有关怎么在Android中实现一个双重选择框功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。原理:定义四个RadioGroup,通过第一个RadioGroup的选择来控制其
2023-05-30

Android中怎么使用Spinner实现一个列表选择框

本篇文章为大家展示了Android中怎么使用Spinner实现一个列表选择框,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Android Spinner列表选择框的应用Spinner 是 Andr
2023-05-30

怎么在Html5页面中使用JSON实现一个动画

今天就跟大家聊聊有关怎么在Html5页面中使用JSON实现一个动画,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.demo.html里面有很多内联的东西,使用时堆积在页面内不好看仔
2023-06-09

怎么在HTML5页面中实现一个音乐播放器

这篇文章给大家介绍怎么在HTML5页面中实现一个音乐播放器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

怎么在Android中利用AlertDialog实现一个多选框功能

怎么在Android中利用AlertDialog实现一个多选框功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在使用AlertDialog实现单选和多选对话框时,分别设置se
2023-05-31

编程热搜

目录