使用css3美化复选框
声明:文章为转载(略改动),点击查看原文。如有侵权24小时内删除,联系QQ:1522025433.
我们知道HTML默认的复选框样式十分简陋,而以图片代替复选框的美化方式会给页面表单的处理带来麻烦,那么本文将结合实例带您一起了解一下使用CSS3将复选框checkbox进行样式美化,并且带上超酷的滑动效果。
demo预览图(点击查看demo原地址):

点击下载demo源码:地址一
通常我们使用以下html结构,我们给复选框定义id#checkbox_a1,然后使用label的for属性与之关联,这样的话,用户点击label的时候,实际上就相当于点击了#checkbox_a1。
<input type="checkbox" id="checkbox_a1" class="chk_1" />
<label for="checkbox_a1">check</label>
通过label和checkbox,我们可以将checkbox隐藏,而将label制作为各种漂亮超酷的复选框样式。我们可以使用:before和:after伪元素来制作各种效果,如滑动按钮的效果。这些效果都可以通过相邻兄弟选择器来选择与checkbox相邻的label来实现,下面是一个简单的例子:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>使用css3美化复选框</title>
<style type="text/css">
/* 定义被选中之后的label样式*/
.chk-a1 + label {
position: relative; /*成为子元素的定位包含框,即里面的勾选符号 √ */
display: inline-block;/*定义成行内块元素,方便使用盒子模型的一些属性*/
padding: 9px;
background-color: #fff;
border: 1px solid #c1caca;
border-radius: 5px;/*实现圆角*/
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), /*定义盒子外阴影*/
inset 0 -15px 10px -12px rgba(0, 0, 0, 0.05);/*定义盒子内阴影,用法详见css3查考手册*/
/*cursor: pointer; 鼠标经过为手型 根据需要添加*/
} /* 定义鼠标点击时label的样式*/
.chk-a1 + label:active {
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05),
inset 0 1px 3px rgba(0, 0, 0, 0.1);
/* 因为通过box-shadow属性定义鼠标点击时阴影的 变化,从而达到了 按钮 般的效果*/
} /* 定义被选中之后的label样式*/
.chk-a1:checked + label {
background-color: #ecf2f7;
border: 1px solid #92a1ac;
/* 定义多重阴影(美化)*/
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05),
inset 0 -15px 10px -12px rgba(0, 0, 0, 0.05),
inset 0 -15px 10px -12px rgba(255, 255, 255, 0.1);
color: #243441;/* 定义内部 字体颜色,在这主要是定义内部勾选 √ 符号的颜色*/
} /* 利用伪对象选中器为 被选中之后的label 内添加勾选 √ 符号*/
.chk-a1:checked + label:after {
content: '\2714'; /*\2714 为转义字符,代表 勾选 √ 符号*/
display: inline-block;
position: absolute;/*进行绝对定位*/
top: 0;
left: 0;
width: 100%;/*使宽度等于父元素的宽度,方便水平居中*/
margin-top: -7px;/*利用外边界取负值 调整到垂直居中*/
font-size: 1.4em;/*字体大小,即 √ 对号的大小*/
color: #243441;
text-align: center;/*水平居中*/
vertical-align: text-top;
} </style>
</head> <body>
<form action="123.php" method="get">
<p>使用css3美化复选框 </p>
<input type="checkbox" id="checkbox-a1" class="chk-a1" value="0" checked /> <label for="checkbox-a1"></label>
<!--设计思路--利用label做复选框,然后把真正的复选框 设置成 display: none; 隐藏掉即可 -->
<br />
<input type="checkbox" id="checkbox-a2" class="chk-a1" value="1" /> <label for="checkbox-a2"></label>
</form>
</body>
</html>
此实例效果图:

最后别忘了把,默认的复选框隐藏掉。即添加如下样式:
方法一:
/* 隐藏掉原来的复选框*/
.chk-a1 {
display: none;
}
方法一的效果:

方法二:
/* 方法二:定义原来的复选框为不可见*/
.chk-a1 {
visibility: hidden;
}
方法二的效果:

方法一直接不显示在文档流中,隐藏掉后不占据原来位置,
方法二是定义原复选框为不可见状态,隐藏掉仍占据原来位置!
根据情况,选择使用。
浏览页面效果,当点击label的时候,复选框出现勾选符号,表示选中状态,再次点击时,勾选符号消失,表示取消选中状态。
DEMO中,我们提供了4个示例,基本可以满足页面常见的复选框样式需求,有需要的可以直接下载源代码,复制css样式即可。你也可以根据项目需求对css样式进行适当修改。
补充说明
复选框的美化效果可以在IE9+浏览器中支持,那么ie8及以下浏览器需要恢复默认样式,使用以下代码:
<!--[if lte IE 8]>
<link href="ie8.css" rel="stylesheet" />
<![endif]-->
使用css3美化复选框的更多相关文章
- css3美化复选框checkbox
两种美化效果如下图: 代码(html) <div id="main"> <h2 class="top_title">使用CSS3美化复 ...
- 使用CSS3美化复选框checkbox
我们知道HTML默认的复选框样式十分简陋,而以图片代替复选框的美化方式会给页面表单的处理带来麻烦,那么本文将结合实例带您一起了解一下使用CSS3将复选框checkbox进行样式美化,并且带上超酷的滑动 ...
- 基于CSS3自定义美化复选框Checkbox组合
今天我们要来分享一组非常漂亮的CSS3自定义复选框checkbox,每一个checkbox都有其各自的特点.有几款checkbox在选中的情况下还会出现动画效果,非常不错的CSS3自定义美化check ...
- 8个非常个性化的CSS3单/复选框
单选框和复选框在网页表单中应用十分广泛,但是浏览器默认自带的单选框和复选框样式不仅不统一,而且大多都比较简单丑陋.本文给大家介绍了一些基于CSS3的个性化单选框和复选框,一些选中动画是基于jQuery ...
- CSS 美化复选框 - 无图片方式
今天和大家分享一个不使用图片美化复选框的方式.来看下效果图吧,如下是3种不同状态下的效果: 一. Html结构 <div class="check-wrap"> < ...
- 纯css3实现美化复选框和手风琴效果(详细)
关键技术点和原理: 原理就是把 checkbox或 radio 给隐藏掉 ,然后给选框 绑定一个label标签. 然后用label标签作为容器,在里面放一个:before或一个after 用bef ...
- 纯css美化复选框,单选框,滑动条(range)
<div class="box"> <!-- 借鉴地址:http://www.cnblogs.com/xiaoxianweb/p/5465607.html --& ...
- 10个HTML5美化版复选框和单选框
单选框Radiobox和复选框checkbox在网页中也十分常见,虽然它没有按钮的交互性强,但是如果能把它们像按钮那样美化一下,那也是非常不错的.本文收集了10个相对比较漂亮的美化版单选框和复选框,希 ...
- radio(单选框)/checkbox(复选框) 美化
由于某种原因,可能需要对单选框(radio)或复选框(checkbox)进行美化,那么直接修改样式是行不通,要实现就需要添加js,以下js依赖于jquery radio.js: function ra ...
随机推荐
- 8、JPA-映射-双向一对一
一个管理对应一个部门,一个部门对应一个管理,例中由部门维护关联关系 实体类 Department package com.jpa.yingshe; import javax.persistence.* ...
- 在windows中停止mysql提示:'服务正在启动或停止中,请稍候片刻后再试一次'
发现mysql的windows服务异常,准备卸载并重新注册服务,输入: mysqld --remove MySQL 提示: 发现卸载不掉这个服务,于是找到MySQL服务的pid sc queryex ...
- ChunkDisappearImage-一个以矩形为单位的图片消失分解效果
效果 使用 1.将ChunkDisappearImage挂在一个空GameObject上. 2.将ChunkDisappearImage的Material设为ChunkDisappearImageMa ...
- Python分析网页中的<a>标签
soup = BeautifulSoup(html,"html.parser") html=soup.select("table a") for k in ht ...
- emacs(考场+平时)配置方案
考场配置: ;;在配置后面会对语句逐一解释的 (global-set-key (kbd "C-z") 'undo) (global-set-key (kbd "RET&q ...
- mysql 架构 ~ binlog_server
一 简介 mysql binlog server 二 目的 实时备份线上的binlog 利用备份+binlog进行任何时间点的恢复 三 详细信息 1 基本命令 /usr/local/mysql ...
- Database学习 - mysql 数据库 事务操作
事务 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 数据库开启事务命令: start transaction 开启事务 rollback 回滚事务,即撤销指定的 ...
- SpringBoot整合MyBatis(XML)
(1).添加依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId> ...
- 【转】Python流程控制语句
[转]Python流程控制语句 人们常说人生就是一个不断做选择题的过程:有的人没得选,只有一条路能走:有的人好一点,可以二选一:有些能力好或者家境好的人,可以有更多的选择:还有一些人在人生的迷茫期会在 ...
- nodejs 使用http模块保存源码
var xpath=require("xpath"); var fs=require("fs"); var dom = require('xmldom').DO ...