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. UVa 573 - The Snail

    题目大意:有一只蜗牛位于深一个深度为h米的井底,它白天向上爬u米,晚上向下滑d米,由于疲劳原因,蜗牛白天爬的高度会比上一天少f%(总是相对于第一天),如果白天爬的高度小于0,那么这天它就不再向上爬,问 ...

  2. iOS 界面开发

    iOS 自动布局 iOS 界面 之 EALayout 无需反复编译,可视化实时界面,告别Storyboard AutoLayout Xib等等烦人的工具 iOS应用国际化教程(2014版) iOS开发 ...

  3. literal

    literal[英][ˈlɪtərəl][美][ˈlɪtərəl]adj.照字面的; 原义的; 逐字的; 平实的,避免夸张; n.[印]错排,文字上的错误;

  4. ExportExcel

    package cn.com.jansh.core.util; import java.awt.print.Book; import java.io.BufferedInputStream; impo ...

  5. ThinkPHP创建应用的一般开发流程

    使用ThinkPHP创建应用的一般开发流程是: 系统设计.创建数据库和数据表:(可选) 项目命名并创建项目入口文件,开启调试模式: 完成项目配置: 创建项目函数库:(可选) 开发项目需要的扩展(模式. ...

  6. 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)

    用VS2005+SQLSERVER2008开发C/S的程序,程序上线运行一段时间之后发现在某些功能偶尔出现如下的错误: 在向服务器发送请求时发生传输级错误. (provider: TCP 提供程序, ...

  7. 解决Apache的错误日志巨大的问题以及关闭Apache web日志记录

    调整错误日志的级别 这几天 apache错误日志巨大 莫名其妙的30G  而且 很多都是那种页面不存在的  网站太多了  死链接相应的也很多于是把错误警告调低了 因为写日志会给系统带来很大的损耗.关闭 ...

  8. jquery的动画函数animate()讲解一

    jquery animate 动画效果使用说明 animate( params, [duration], [easing], [callback] ) 用于创建自定义动画的函数. 这个函数的关键在于指 ...

  9. thinkphp 3.2 模型的使用示例

    原来以为thinkPHP的 model 就和PHPCMS一样  就起到一个连接数据库的作用,今天看了视频,才发现这个也是 mvc中的m 使用方法可以使用 D() 方法 下面是 UserControll ...

  10. 解决NetStream.appendBytes直播爆音的问题解决

    研究了一下Adobe家HDS的具体实现 OSMF.利用其中的一个核心方法 flash.net.NetStream.appendBytes()构建了我们自己的HTTP点直播播放框架.但今年年初发现一个问 ...