17.2.25、nimil

今天开始做百度前端学院的任务,第一个是自定义checkbox, radio样式

checkbox和radio两个标签是不可以改变样式的,background-color、border等属性都对其无效。

但是本身的样式又不太美观:

本身的radio外观;本身的checkedbox外观。

不能改样式,却又如此的不美观,实在不符合我们现在的审美和需求。

这是百度给的一个样式图片:

首先,HTML:

    <div>
<input type="radio" name="one" id="radio2" >
<label for="radio2" class="radioOne after radioLabel1"></label>
<input type="radio" name="one" id="radio" >
<label for="radio" class="radioOne after radioLabel" ></label><!-- 两个radio --> <input type="checkbox" name="two" id="checkbox" >
<label for="checkbox" class="checkboxLabel after"></label>
</div>

那么,如何改变样式呢。label标签的for属性,为radiol加上对应的id,就可以实现点击label的时候,对应dadio被选中。

本次使用到了background-img、background-position、checked选择器、

首先隐藏input标签、并为label统一加上背景图:

   input{
display: none;/*隐藏input*/
}   label{
    background: url(img/spread.png);background-repeat: no-repeat;
  }  /*为label统一加上背景图:*/
  

  .after{
    width: 30px;height: 25px;display: block;/*设置label样式*/
  }/*定义所有label初始样式*/


  为每个标签定位背景图,采用了雪碧图方法:

CSS Sprite、CSS雪碧图应用实例

        .radioLabel{
background-position: 26% 15%;
}
.checkboxLabel{
background-position: 26% 113%;
}

  在radio被选中后,改变对应label的样式。这里用到了css选择器:checked。

        #radio2:checked ~ .radioLabel1{
background-position: 75% 15%;
}
#radio:checked ~ .radioLabel{
background-position: 75% 15%;
}
#checkbox:checked ~ .checkboxLabel{
background-position: 75% 113%;
}

  这时会出现一个问题,我试了很多次才发现问题处在什么地方。

  

  如图中的1、2,我的label写在对应input下方,如果写在上面,checked选择器是查不到的。上面的css也不会起作用。

  以上。

自定义checkbox, radio样式的更多相关文章

  1. 自定义checkbox,radio样式

    input[type=radio] { margin-right: 5px; cursor: pointer; font-size: 14px; width: 15px; height: 15px; ...

  2. 自定义checkbox/radio

    一. label标签 1. 概念: HTML <label>元素表示用户界面中项目的标题.它通常关联一个控件,或者是将控件放置在label元素内,或者是用作其属性.这样的控制称作label ...

  3. 微信小程序 修改(自定义) 单选/复选按钮样式 checkbox/radio样式自定义

    参考文章: 微信小程序 修改(自定义) 单选/复选按钮样式 checkbox/radio样式自定义

  4. css美化checkbox radio样式

    /*check,radio*/ input.check_txt[type='checkbox']{ display: none; } input.check_txt[type='checkbox'] ...

  5. checkbox/radio 样式修改

    只改颜色 input[type=radio],input[type=checkbox] { display: inline-block; vertical-align: middle; width: ...

  6. 自定义 checkbox 样式

    前言:最近在做一个网站,为了统一风格,需要自定义checkbox的样式.所以花了点时间参考了 研究了一下.感觉上面的方法略微麻烦.所以自己重新写了下面的代码,欢迎大家指教.同时,感谢w3cplus提供 ...

  7. 自定义表单样式之checkbox和radio

    1,起因 最近在工作中要实现自定义式的radio样式,而我们通常使用的时默认的样式,因为自己实在想不到解决的方法,于是开始搜索,最终看到了不错的解决办法,可以完美解决我们遇到的问题. 2,原理 大家都 ...

  8. Css实现checkbox及radio样式自定义

    前言 checkbox和radio样式自定义在网页中是很常见的, 比如在进行表单输入时性别的选择,用户注册时选择已阅读用户协议.随着用户对产品体验要求越来越高,我们都会对checkbox和radio重 ...

  9. 自定义checkbox, radio样式总结

    任务目的 深入了解html label标签 了解CSS边框.背景.伪元素.伪类(注意和伪元素区分)等属性的设置 了解CSS中常见的雪碧图,并能自己制作使用雪碧图 任务描述 参考 样例(点击查看),实现 ...

随机推荐

  1. Oracle 事件

    Oracle 的事物 事物是设么 事物是用于高正数据的一致性,他由一组相关的dml语句组成(增加删除语句),这组语句要么全部成功要不全部失败. 如:网上转账. 1)设置保存点 Savepoint a1 ...

  2. HUSTOJ 2796 && SPOJ1811

    传送门:http://begin.lydsy.com/JudgeOnline/problem.php?id=2796 题解:后缀自动机,很裸,但是感觉对后缀自动机还不是特别理解,毕竟我太蒟蒻,等我精通 ...

  3. 判断activity是否显示在界面上

    boolean result = false; ActivityManager am = (ActivityManager) context .getSystemService(Context.ACT ...

  4. Android应用程序组成部分

    引言 为了后面的例子做准备,本篇及接下来几篇将介绍Android应用程序的原理及术语,这些也是作为一个Android的开发人员必须要了解,且深刻理解的东西.本篇的主题如下: 1.应用程序基础 2.应用 ...

  5. JavaScript 模块化及 SeaJs 源码分析

    网页的结构越来越复杂,简直可以看做一个简单APP,如果还像以前那样把所有的代码都放到一个文件里面会有一些问题: 全局变量互相影响 JavaScript文件变大,影响加载速度 结构混乱.很难维护 和后端 ...

  6. iOS 之 线程和进程

    进程是系统调度单位,拥有自己的资源 线程是CPU调度的基本单位 进程的同步机制: 原子操作.信号量机制.自旋锁.分布式系统

  7. Quartz2D 之 简单使用

    1. 获取Graphics Context CGContextRef ctx = UIGraphicsGetCurrentContext(); 2. 最后的渲染接口 CGContextStrokePa ...

  8. java环境设置与运行

    在初学java编程语言时,痛苦的事莫过于跟着示例一步步做,总是得不到想要的结果,这是很多初学者都会碰到的问题.下面详细教你运行第一个java应用程序(环境windows xp + jdk 6.0): ...

  9. bootstrap的alert提示框的关闭后再显示问题

    bootstrap中有alert组件,如果点击关闭按钮后该组件会被删除而不是被隐藏,想再显示怎么办呢? bootstrap-alert.js源码片段: function removeElement() ...

  10. 程序启动缓慢-原来是hbm.xml doctype的原因

    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "h ...