css写复选框
前面讲过《完全使用css编写复选框》,后来在深入学习sass过程中,发现:这种写法虽然也能达到目的,但是稍嫌复杂了一点。这里介绍一种可以说更简单一点的方法,其实也就是html结构更简单一点,就css而言,也差不多吧。
还是以复选框为例吧。
<label><input type="checkbox" name="name" checked />选项一</label>
其实核心的html结构也就是我们正常使用的input[type=checkbox]的写法,关键在于可以用css清除其默认样式,这是我之前一直忽略或者说完全不知情的一条css语句。
input[type=checkbox]{
-webkit-appearance: none;
appearance: none;
}
appearance: none; 清除了整个[type=checkbox]的默认样式,由于涉及到兼容性的问题,一般主要用于移动端的清除复选框和单选框的默认样式。
input[type=checkbox]{
-webkit-appearance: none;
appearance: none;
display: inline-block;
cursor: pointer;
vertical-align: middle;
background-repeat: no-repeat;
-webkit-transition: background-position .15s cubic-bezier(.8, 0, 1, 1),
-webkit-transform .25s cubic-bezier(.8, 0, 1, 1);
transition: background-position .15s cubic-bezier(.8, 0, 1, 1),
-webkit-transform .25s cubic-bezier(.8, 0, 1, 1);
outline: none;
width: 24px;
height: 24px;
margin: 0 6px;
background-image: url(default.png);
background-size: 75% 75%;
-webkit-box-shadow: hsla(0,0%,100%, .15) 0 1px 1px, inset hsla(0,0%,0%,.5) 0 0 0 1px;
box-shadow: hsla(0,0%,100%, .15) 0 1px 1px, inset hsla(0,0%,0%,.5) 0 0 0 1px;
border-color: #ff7b11;
}
input[type=checkbox]:checked{
-webkit-transition: background-position .2s .15s cubic-bezier(0, 0, .2, 1),
-webkit-transform .25s cubic-bezier(0, 0, .2, 1);
transition: background-position .2s .15s cubic-bezier(0, 0, .2, 1),
-webkit-transform .25s cubic-bezier(0, 0, .2, 1);
}
input[type=checkbox]:active{
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
-webkit-transition: -webkit-transform .1s cubic-bezier(0, 0, .2, 1);
transition: -webkit-transform .1s cubic-bezier(0, 0, .2, 1);
}
input[type=checkbox],
input[type=checkbox]:active,
input[type=checkbox]:checked ~ input[type=checkbox],
input[type=checkbox]:checked ~ input[type=checkbox]:active {
background-position: center -24px;
}
input[type=checkbox]:checked {
background-position: center center;
}
这就实现自定义的checkbox样式了,再也不用使用各种标签,并通过js模拟来实现简单的单选和复选框的问题了。
css写复选框的更多相关文章
- 完全使用css编写复选框
在日常的项目中,出现复选框或者单选框,应该都属于常见需求了,最开始阶段,一般只有两种可能性: 一.完全使用 <input type="checkbox" />或者&l ...
- CSS 美化复选框 - 无图片方式
今天和大家分享一个不使用图片美化复选框的方式.来看下效果图吧,如下是3种不同状态下的效果: 一. Html结构 <div class="check-wrap"> < ...
- 纯css美化复选框,单选框,滑动条(range)
<div class="box"> <!-- 借鉴地址:http://www.cnblogs.com/xiaoxianweb/p/5465607.html --& ...
- 纯css修改复选框默认样式
input[type='checkbox']{ width: 20px; height: 20px; background-color: #fff; -webkit-appearance:none; ...
- 纯css3单选框/复选框美化样式代码
纯CSS 单/复选框 美化请选择iPhone 型号 iPhone 6s iPhone 6s Plus iPhone 7 iPhone 7 Plus 选择兴趣爱好 女 绘画 摄影 骑行 原理在这 ...
- 不同版本的jquery的复选框checkbox的相关问题
在尝试写复选框时候遇到一个问题,调试了很久都没调试出来,极其郁闷: IE10,Chrome,FF中,对于选中状态,第一次$('#checkbox').attr('checked',true)可以实现 ...
- Django项目:CRM(客户关系管理系统)--35--27PerfectCRM实现King_admin编辑复选框
#admin.py # ————————01PerfectCRM基本配置ADMIN———————— from django.contrib import admin # Register your m ...
- [CSS]复选框单选框与文字对齐问题的研究与解决.
前言:今天碰到的这个问题, 恰好找到一个很好的博文, 在这里转载过来 学习下. 原文地址:复选框单选框与文字对齐问题的研究与解决. 目前中文网站上面的文字,就我的个人感觉而言,绝大多数网站的主流文字大 ...
- 转 纯CSS设置Checkbox复选框控件的样式
Checkbox复选框是一个可能每一个网站都在使用的HTML元素,但大多数人并不给它们设置样式,所以在绝大多数网站它们看起来是一样的.为什么不把你的网站中的Checkbox设置一个与众不同的样式,甚至 ...
随机推荐
- HttpServletResponse和HttpServletRequest
1.相关的接口 HttpServletRequest HttpServletRequest接口最常用的方法就是获得请求中的参数,这些参数一般是客户端表单中的数据.同时,HttpServletReq ...
- dubbo的三种运行方式
1.Tomcat容器内启动 pom.xml 文件中 <build> <resources> <resource> <directory>src/main ...
- Vim NerdTree
参考链接:http://yang3wei.github.io/blog/2013/01/29/nerdtree-kuai-jie-jian-ji-lu/ 切换工作台和目录 ctrl + w + h 光 ...
- Device Identifier and Device DNA初识
Device Identifier and Device DNA初识 信息来源 怎么样去用这个DNA:
- 打开RAD Studio XE5提示"displayNotification:内存不够"解决办法
操作方法: 在RAD Studio XE5快捷方式上鼠标右击选择属性,在弹出的快捷方式标签页中将目标(T):"C:\Program Files (x86)\Embarcadero\RAD S ...
- how to install an older version of package via NuGet?
转载 http://stackoverflow.com/questions/10206090/how-to-install-an-older-version-of-package-via-nuget ...
- Tomacat 配置
server.xml文件中元素: 1.<Service name="Catalina"> 这个元素相当于IIS的一个网站.该元素可有多个.每个元素会根据名字在conf文 ...
- C++进阶--模板及关键字typename
//############################################################################ /* * 模板介绍 */ //函数模板 t ...
- DB2如何将数据库表解锁
死锁是应用程序争抢资源造成de,把相关应用程序结束掉就可以解除死锁了 先用list application for database yourdatabasename show detail 来看看应 ...
- vo和pojo
pojo直接描述数据库中的表和字段,一一对应 vo的话,可以多添加些属性,比如code对应的name,或者标识符等等 查询列表的时候也可以直接用vo,但是修改或添加记录必须是pojo QueryVo ...