input checkbox样式美化

最近在学校做自己的学习实践项目中,用到了checkbox,想实现的是,在登陆界面的中的那个记住我的选框。我们都知道,原生的checkbox样式不能满足咱们的需求。所以接下来,让我们一起动动手,换种方式美化一下吧。

以下我们将会学到的知识技巧吧:

  • div居中于页面
  • checkbox样式美化
  • label for属性的使用

话不多说,用图说话:

【原生样式】
[美化后样式]
【用到的icon】(可右键保存本地)
这里的icon可以自己去找,我这里用的像素尺寸是32的,大家也可以到iconfont-阿里巴巴矢量图标库网下载:http://www.iconfont.cn

思路

  • div居中于页面
    首先是给div一个宽高,这个为了后面的居中定位,继续,给个绝对定位absolute,其次就是把topleft都设置成50%,这里可能会有的同学说,这样不就可以居中了,其实你仔细的瞅一眼,它并没有居中,我们都知道原点坐标为屏幕的左上角,div定位也是根据自身的左上角来定位,所以我们还需要加上margin-top:-12px ;和margin-left:-40px ;这里的数值就是div宽高的一半,这样,我们就可以看到它居中啦。不过最后还有一个需要注意的地方,假如说我加了一个padding,然后就不居中了。放心一样的道理,假如说我给div加了一个padding: 10px; ,这时需要为margin-topmargin-left 在原来的值的绝对值基础上加10 ,如margin-top:-12px ;和margin-left:-40px ; 变成margin-top:-22px ;和margin-left:-50px ; ,这个相加的值是上下和左右padding的各一半。
div {width: 80px;height: 24px;position: absolute;top: 50%;left: 50%;margin:-12px 0 0 -40px ;text-align: center;}

拿本次例子来演示效果图:

- checkbox样式美化
首先,我们需要把checkbox的透明度设置为0: opacity: 0; 然后我们需要用到span,作为checkbox的选中状态显示。接着span一个背景icon,然后根据icon的分辨率尺寸大小设置背景图片的一些属性,关键是它: background-position-y: 20px;,目的是:当checkbox 未选中的时候,让背景图片挪到一个我们看不见的地方去,当checkbox 选中的时候,让背景图片再挪回来,也就是重置为0:background-position-y: 0px;,剩下的就是给它一个过渡效果,用户体验就更好啦,最后这样就达到我们的目的啦,具体代码如下:

input[type=checkbox]{width: 16px;height: 16px;position: absolute;opacity: 0;cursor: pointer;z-index: 2;
}
span {position: absolute;top: 4px;width: 14px;height: 14px;border: 1px solid #d6d6d6;border-radius: 3px;background: url(img/fork_green.png);background-size: 14px;background-repeat: no-repeat;background-position-x: 0px;background-position-y: 20px;-webkit-transition: background-position-y 0.1s linear;-o-transition: background-position-y 0.1s linear;transition: background-position-y 0.1s linear;
}
input[type=checkbox]:checked+span {background-position-y: 0px;
}
  • label for属性的使用
    大家有没有发现,在上面代码中,单击记住我的文字没有效果!!!有些同学会问,这是为啥,那我们这里就是解决这个问题,而我又不想用JS去写,这么麻烦,还得if else弄来弄去,对吧。
    - HTML for 属性
    for 属性规定 label 绑定的表单元素,element_id为label 绑定的元素的 id。使用方法如下:
<label for="element_id">/*例如*/
<input type="checkbox" id="remember-me-checkbox">
<label for="remember-me-checkbox">记住我 </label>

该说的说完了,上代码吧

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>checkbox美化</title></head><style type="text/css">#remember-password-container {width: 80px;height: 24px;position: absolute;top: 50%;left: 50%;margin:-12px 0 0 -40px ;text-align: center;}#remember-password-container .remember-password-content {position: relative;}#remember-password-container input[type=checkbox]{width: 16px;height: 16px;position: absolute;opacity: 0;cursor: pointer;z-index: 2;font-size: initial;}#remember-password-container .remember-me-label {color: #000;margin-left: 25px;cursor: pointer;}#remember-password-container .remember-me-label::selection{background: rgba(0,0,0,0);}#remember-password-container span {position: absolute;top: 4px;width: 14px;height: 14px;border: 1px solid #d6d6d6;border-radius: 3px;background: url(img/fork_green.png);background-size: 14px;background-repeat: no-repeat;background-position-x: 0px;background-position-y: 20px;-webkit-transition: background-position-y 0.1s linear;-o-transition: background-position-y 0.1s linear;transition: background-position-y 0.1s linear;}#remember-password-container input[type=checkbox]:checked+span {background-position-y: 0px;}</style><body><div id="remember-password-container"><div class="remember-password-content"><input type="checkbox" id="remember-me-checkbox"><span></span><label class="remember-me-label" for="remember-me-checkbox">记住我 </label></div></div></body>
</html>

结束语

这个编辑工具使用不是很顺手,大家凑活着看吧,请多多谅解,同时有哪些错误点误导大家的,也请大家留言多多吐槽一起学习。这次笔记就写到这里啦!谢谢大家(^_^)。

input checkbox样式美化相关推荐

  1. html5复选框样式,11种炫酷CSS3复选框checkbox样式美化效果

    这是一款效果非常酷的CSS3复选框checkbox样式美化效果.该复选框美化效果共有11种.默认的复选框的样式十分不好看,该效果将复选框加一美化,带上了一些动画效果,其中一些制作为滑动按钮的样式. 使 ...

  2. 微信小程序checkbox样式美化

    微信小程序checkbox默认默认样式显得非常不美观,需对其进行样式美化, 样式美化后的结果: 代码如下: html: <checkbox-group data-id="{{item. ...

  3. html checkbox样式美化

    反正我觉得这个够用了 很好看 哈哈~~~~ 思路:使用label结合checkbox,背景图片进行美化. 原理: 1. for 属性规定 label 与哪个表单元素绑定,显式绑定和隐式绑定,均可实现c ...

  4. 自定义input checkbox样式

    input[type="checkbox"]{width:20px;height:20px;display: inline-block;text-align: center;ver ...

  5. html表单复选框样式,美化表单——自定义checkbox和radio样式

    如果你对本站比较观注的话,应该很清楚,前面就有这方面的介绍.因为大家都知道表单中的部分元素如果单单使用CSS是没办法完成的,所以最近花全力在学习这方面的制作.在本站有关于这样制作有好几个教程了,比如说 ...

  6. html选择文件按钮美化,css input[type=file] 样式美化,input上传按钮美化

    我们在做input文本上传的时候,html自带的上传按钮比较丑,如何对其进行美化呢?同理:input checkbox美化,input radio美化是一个道理的,后面文章会总结. 1. 思路 inp ...

  7. 如何用input checkbox实现按钮开关样式?

    input checkbox实现按钮开关样式 1.给input清空默认样式和设置按钮基本样式(class="switch") ​ input[type=checkbox].swit ...

  8. 自定义css样式美化博客园

    写在前面 csdn的markdown放到博客园里感觉风格迥异,所以还是找个好点的css吧,css这个我没有深入了解,拼凑了一个css.对于有python代码,而且需要自动生成目录的博文很有帮助,其他的 ...

  9. 通过CSS修改checkbox样式(利用label的for属性进行焦点传递)

    需求背景: 在页面设计时,常常会用到input复选框.如果用到一些前端框架的话,一般复选框的样式都可以满足需要:但是对于未使用前端框架,直接原生的话样式可能满足不了项目需要,因此我们需要修改复选框的样 ...

最新文章

  1. Nature子刊:王四宝组揭示按蚊肠道共生菌抗疟的分子机制
  2. saltstack pkg模块用法
  3. 718保时捷spyder_我要买保时捷718 Spyder的原因:新手也可以玩手动
  4. 百度网盘推荐部分优秀的分享达人
  5. c语言编程将图片上下翻转,C语言实现矩阵翻转(上下翻转、左右翻转)
  6. 8 个你必须要掌握的 GitHub 实用技巧!
  7. 他奶奶的,我要再不写技术文章,找工作都没有说服力!
  8. java socket 抓包_linux下用socket的抓包程序
  9. 【干货】京东电商推荐系统的应用实践.pdf(附下载链接)
  10. ftp文件传输协议的匿名用户、系统用户的实现详解过程
  11. 数据结构—二叉排序树
  12. oracle 表或视图不存在_sqlalchemy反射不存在主键的表引发的问题
  13. 适合 Java 新手的开源项目集合——在 GitHub 学编程
  14. python while循环的用法_Python while循环语句详解
  15. 双目相机标定(MATLAB TOOLBOX_calib)
  16. for循环,for循环嵌套
  17. 如何判定多边形是顺时针还是逆时针
  18. OpenCV之Vec3f
  19. 【历史上的今天】8 月 20 日:两位传奇程序员的诞生日!
  20. Apsara Clouder基础技能认证:阿里巴巴编码规范

热门文章

  1. 前端上传文件本地修改异常处理(监测本地文件是否发生变化)
  2. 将Excel经纬数据导入ArcGIS中
  3. 关系:心理治疗的核心因素
  4. 小家电和消费者的距离,只隔着一个闲鱼
  5. 【Python】Python猜拳游戏、数字竞猜游戏小实例、随机密码注册,模拟用户登陆实例
  6. STM32MP157开发笔记 | 02 - 开发环境搭建(A7核、M4核)
  7. comsol射孔完井案例
  8. matlab单位阶跃序列,产生单位阶跃序列的MATLAB程序如下:k.PPT
  9. Matlab/Simulink#直驱永磁风电机组并网仿真模型 基于永磁直驱式风机并网仿真模型
  10. 计算机桌面照片如何干净删除,怎么删除电脑文件_电脑文件如何删除干净-win7之家...