自定义实现复选框效果

在开发中,表单中经常会用到复选框,但是HTML原生自带的复选框样式真是太丑陋了,往往是无法满足需求的,因此需要通过HTML、CSS、JS来模拟复选框的效果,来实现需求样式。

  • 结构
<span class="base" id="target"></span>
  • 样式
 .base{
    position: relative;
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 1px solid blue;
  }
// 设置动态添加的checked类样式
  .checked::after{
    content: '';
    width: 8px;
    height: 4px;
    border-left: 1px solid blue;
    border-bottom: 1px solid blue;
    position: absolute;
    top: 2px;
    left: 1px;
    transform: rotate(-45deg)
  }
  • 逻辑
var target = document.getElementById('target')
target.onclick = function () {
  this.classList.contains('checked') ? this.classList.remove('checked') : this.classList.add('checked')
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,749评论 1 45
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,611评论 0 7
  • 一、样式篇 第1章 初识jQuery (1)环境搭建 进入官方网站获取最新的版本 http://jquery.co...
    凛0_0阅读 3,466评论 0 44
  • $HTML, HTTP,web综合问题 1、前端需要注意哪些SEO 2、 的title和alt有什么区别 3、HT...
    Hebborn_hb阅读 4,677评论 0 20
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,814评论 1 92