Radio和checkbox需要美化吗?答案是必须的,因为设计风格一直都会变化,原生的样式百年不变肯定满足不了需求。

先看看纯CSS美化过后的radio和checkbox效果:查看

项目地址:magic-check

在CSS出现之前,我们美化radio和checkbox需要借助JavaScript,最具代表性的就是icheck,它功能强大复杂并且主题很多。icheck这种美化方案很好很强大,但是也有很多缺点:

  • 太重,需要引入JS、CSS,还有图片或者字体图标,而且还依赖jQuery

  • 扩展性差,Pure js项目还好,如果是Angular.js、React、Vue.js或者Meteor项目,一般都需要自己对icheck做wrapper

  • 样式自定义性不好,修改样式只能重新做图

  • 事件行为跟原生不一致

  • 可维护性差、复杂,谁用谁知道

所以,如果的项目不需兼容古董浏览器的话,用CSS美化radio和checkbox是最好的选择,这样什么都不用依赖,只需CSS,无JS,无图片,无字体图标。

为了更好的在项目中重用,我把美化的代码写成一个项目,叫magic-check,寓意像魔法一样去美化radio和checkbox。

用法非常简单,最好用Bower和npm进行管理,先Install:

  • bower:  bower install --save magic-check

  • npm:  npm install --save magic-check

然后加载CSS文件:

<link rel="stylesheet" href="bower_components/magic-check/css/magic-check.css">

然后,只要给input元素加上一个CSS类magic-checkbox或magic-radio就可以:

Radio

<input class="magic-radio" type="radio" name="radio" id="11">
<label for="11">Normal</label>

Checkbox

<input class="magic-checkbox" type="checkbox" name="layout" id="1">
<label for="1">Normal</label>

用纯CSS美化radio和checkbox的更多相关文章

  1. 纯CSS3美化radio和checkbox

    如题,主要通过CSS3来实现将radio和checkbox美化的效果.可是兼容性并非非常好,PC端仅仅支持chrome浏览器(IE和Firefox測试不行,其它没有很多其它測试).然后微信端和QQ端訪 ...

  2. 纯CSS美化的checkbox 和 radio

    html <!DOCTYPE HTML> <html> <head> <title>纯CSS3实现自定义美化复选框和单选框</title> ...

  3. 利用纯CSS美化checkbox和radio和滑动按钮的实现

    W3C提供的CheckBox和radio的原始样式非常的丑,而且在不同的额浏览器表现还不一样,使用常规的方法添加样式没法进行修改样式 一, 单选按钮 <html> <head> ...

  4. 原创:纯CSS美化单复选框(checkbox、radio)

    最重要的一点,隐藏选择框本身.不多说了,上代码: <!doctype html> <html> <head> <meta charset="utf- ...

  5. CSS 美化radio checkbox

    CSS 样式 <style type="text/css"> .option-input { -webkit-appearance: none; -moz-appear ...

  6. 纯css用图片代替checkbox和radio,无js实现方法

    html <ul id="is_offical_post_links"> <li> <label> <input type="c ...

  7. 美化radio和checkbox样式

    HTML部分 <div id="holder"> <div> <div class="tag">Checkbox Small ...

  8. 纯css美化下拉框、复选框以及单选框样式并用jquery获取到其被选中的val

    具体样式如图所示: 注:获取val值时记得要先引入jquery库奥. 1.下拉框 css部分 #cargo_type_id{ font-size: 13px; border: solid 1px #b ...

  9. 纯css美化复选框,单选框,滑动条(range)

    <div class="box"> <!-- 借鉴地址:http://www.cnblogs.com/xiaoxianweb/p/5465607.html --& ...

随机推荐

  1. c# 表格控件SourceGrid使用总结

    网上SourceGrid相关的资料很少,使用过程中做了下记录,以便日后查用 1:初始化 this.grid = new SourceGrid.Grid(); this.grid.Size = new ...

  2. 超简单的集成表达式树查询组件,Sy.ExpressionBuilder 使用说明

    Sy.ExpressionBuilder是一套依赖于表达式树上的集成的查询组件.设计的初衷没别的,就为了少写代码,让查询业务可以变得更加模式化.目前可以从nuget 获取到该组件. 来到查询,查询实体 ...

  3. MyBatis动态 order by 排序不生效解决方法

    使用Mybatis在做一个项目时,发现需要动态的去做一个排序功能,于是乎有了下面XXXMapper.xml代码 <if test="order!=null and !order.isE ...

  4. Windows下Apache服务多个端口反向代理配置

    修改\Apache24\conf\httpd.conf: 1.修改安装包地址: Define SRVROOT "/Apache24" 修改为: Define SRVROOT &qu ...

  5. 随机数据生成工具Mockaroo

    测试用例生成工具:https://www.mockaroo.com/ 网站描述是:Random Data Generator and API Mocking Tool | JSON / CSV / S ...

  6. 基于idea做java程序的本地k8s调试-skaffold(一)

    先介绍下本篇文章是基于ideas下开发微服务的场景,大家都知道微服务嘛,一个个微的服务...很多,先不谈调试,要跑起来都费力,可能的原因有: 环境变量的配置,如果多个项目穿插着来,env变量可能废了, ...

  7. tensorflow源码解析之framework-function

    目录 什么是function FunctionDef 函数相关类 关系图 涉及的文件 迭代记录 1. 什么是function 在讲解function的概念之前,我们要先回顾下op.op是规定了输入和输 ...

  8. Django基础二静态文件和ORM

    Django基础二静态文件和ORM 目录 Django基础二静态文件和ORM 1. 静态文件 1.1 静态文件基本配置: 1.2 静态文件进阶配置 2. request参数 3. Django配置数据 ...

  9. DataTemplate的用法

    WPF 模板主要分为两大类:1.ControlTemplate: 控件的外观,也就是控件是什么样子.2.DataTemplate: 是数据内容的表现,一条数据显示成什么样子. (1)DataTemla ...

  10. 构建 Go 应用 docker 镜像的十八种姿势

    修炼背景 我夜以继日,加班加点开发了一个最简单的 Go Hello world 应用,虽然只是跑了打印一下就退出了,但是老板也要求我上线这个我能写出的唯一应用. 项目结构如下: . ├── go.mo ...