一点一点学习CCS,这次学习了如何自定义单选框,复选框以及开关。

一、单选框

1、先写好body里面的样式,先写几个框

 <body>
<div class="radio-1">
<input type="radio" name="radio-1" id="radio-1-1">
<label for="radio-1-1"></label> <input type="radio" name="radio-1" id="radio-1-2">
<label for="radio-1-2"></label> <input type="radio" name="radio-1" id="radio-1-3">
<label for="radio-1-3"></label> </div>
</body>

用input写好radio在旁边显示,这个label中的for 属性的值与控件 id 是一样的效果。这里在下面将label的样式如同按钮的样式编写

 <style type="text/css">
.radio-1{
width: 980px;
margin: 0 auto;
padding: 3% 0;
text-align: center;
font-size: 28px;
} .radio-1 [type="radio"]{
display: none; }
.radio-1 label{
display: inline-block;
position: relative;
width: 60px;
height: 60px;
border:1px solid #ccc;
background-color: #fff;
margin-right: 10px;
cursor: pointer;
border-radius: 100%
}
.radio-1 label:after{
content: '';
position: absolute;;
top: 10px;
left: 10px;
width: 40px;
height: 40px;
background-color: #81C2D6;
border-radius: 50%;
transform: scale(0);
/*transition: transfrom .2s ease-out;*/
}
.radio-1 [type="radio"]:checked + label{
background-color: #eee;
/*transition: background-color .2s ease-in;*/
}
.radio-1 [type="radio"]:checked + label:after{
transform: scale(1);
/*transition: transfrom .2s ease-in;*/
}
</style>

.radio-1 [type="radio"]{
display: none;} 这个样式是把由该选择器中包含的radio都不让其显示,差不多就是隐藏的意思;

打开有惊喜

二、复选框

 .checkbox-1{
width: 980px;
margin:0 auto;
text-align:center;
padding: 3% 0;
background-color:#9cc;
}
.checkbox-1 [type="checkbox"]{
display: none; }
.checkbox-1 label{
display: inline-block;
width: 10px;
height: 10px;
padding: 9px;
border:1px #ccc solid;
background-color: #fff;
color: #333;
margin-right: 10px;
overflow: hidden ;
position: relative;
cursor: pointer;
}
.checkbox-1 label:after{
content: 'A';
font-family: Arial;
color: #fff;
background-color: #999;
width: 26px;
height: 26px;
line-height: 26px;
position: absolute;;
left: 1px;
top: 1px;
border-radius: 4px;
text-align: center;
transform: translateY(-30px);
transition: transform .2s ease-out; }
.checkbox-1 [type="checkbox"]:checked +label:after{
transform: translateY(0);
transition: transform .2s ease-in;
}

第一个基本样式是设置整体背景,第二样式是将input隐藏掉,只显示出写的label。因为for 属性相当与id属性所以label 所对应的也是input的输入值,在label样式,设置其display为内嵌式,同时设置其长宽,背景颜色以及长宽,当你点击按钮的时候的checked则将after的内容改变位置,本身在label中就设置了超过label设置的长宽的东西都会被隐藏,而一开始after中的东西拜访的位置就往上移动一定距离,当点击后,则修改样式中的translate,即改变其位移,回到原来的位置。

 <div class="checkbox-1">
<input type="checkbox" checked="checked" name="checkbox-1" id="checkbox-1-1">
<label for="checkbox-1-1"></label> <input type="checkbox" name="checkbox-1" id="checkbox-1-2">
<label for="checkbox-1-2"></label> <input type="checkbox" name="checkbox-1" id="checkbox-1-3">
<label for="checkbox-1-3"></label> </div>

三、开关

 .checkbox-2 [type="checkbox"]{
display: none;
}
.checkbox-2{
width: 980px;
margin:0 auto;
text-align:center;
padding: 3% 0;
background-color:#fc9;
}
.checkbox-2 label{
display: inline-block;
width: 68px;
height:34px;
border:1px solid #eee;
border-radius: 18px;
background-color: #fafafa;
margin-right: 10px;
cursor: pointer;
position: relative;
transition: background-color .1s ease-in;
}
.checkbox-2 label:after{
content: '';
position: absolute;
left: 1px;
top:1px;
width: 30px;
height: 30px;
border:1px solid #eee;
border-radius: 50%;
background-color: #fff;
transition: left .1s ease-out;
}
.checkbox-2 [type="checkbox"]:checked +label{
background-color: #3c6;
transition: background-color .1s ease-in; }
.checkbox-2 [type="checkbox"]:checked +label:after{
left: 35px;
transition: left .1s ease-out; }

在label 中先把背景设置好,基础的背景,一个椭圆,在after中设置一个小圆圈,设置好背景颜色,在点击该开关后,将该小圆圈向左移动,同时将该背景颜色更改为绿色。

 <div class="checkbox-2">
<input type="checkbox" checked="checked" name="checkbox-1" id="checkbox-2-1">
<label for="checkbox-2-1"></label> <input type="checkbox" name="checkbox-1" id="checkbox-2-2">
<label for="checkbox-2-2"></label> <input type="checkbox" name="checkbox-2" id="checkbox-2-3">
<label for="checkbox-2-3"></label> </div>

打开有惊喜

CSS学习笔记三:自定义单选框,复选框,开关的更多相关文章

  1. Python3+Selenium3+webdriver学习笔记8(单选、复选框、弹窗处理)

    #!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记8(单选.复选框.弹窗处理)''' from selenium ...

  2. CSS效果:这里有你想要的CSS3漂亮的自定义Checkbox各种复选框

    在原来有一篇文章写到了<CSS效果篇--纯CSS+HTML实现checkbox的思路与实例>. 今天这篇文章主要写各种自定义的checkbox复选框,实现如图所示的复选框: 大致的html ...

  3. CSS效果篇--这里有你想要的CSS3漂亮的自定义Checkbox各种复选框

    在原来有一篇文章写到了<CSS效果篇--纯CSS+HTML实现checkbox的思路与实例>.这篇文章主要写各种自定义的checkbox复选框,实现如图所示的复选框: 大致的html代码都 ...

  4. php一些单选、复选框的默认选择方法(示例)

    转载 http://www.php.cn/php-weizijiaocheng-360029.html 一. radio和checkbox及php select默认选择的实现代码 1.radio单选框 ...

  5. 一天搞定jQuery(三)——使用jQuery完成复选框的全选和全不选

    还记得之前我使用JavaScript来实现复选框的全选和全不选效果吗?如果读者初次翻阅本文,可记得看看教你一天玩转JavaScript(七)——使用JavaScript完成复选框的全选和全不选的效果! ...

  6. 关于通过jq /js 实现验证单选框 复选框是否都有被选中

    今天项目中遇到一个问题 就是要实现,单选框,复选框 同时都被选中才能进行下一步的问题,开始用js原生来写 怎么写都觉得不合适,通过for循环得出 复选框被选中的,在通过for循环得出单选框被选中的,问 ...

  7. iCheck获取单选和复选框的值和文本

    //获取单选和复选框的值//parameters.type:"radio","checkbox"//parameters.name:input-name//pa ...

  8. 纯css美化单选、复选框

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  9. selenium+Python(定位 单选、复选框,多层定位)

    1.定位一组元素webdriver 可以很方便的使用 findElement 方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,这时候就需要使用 findElements 方法.定位一组对象 ...

随机推荐

  1. 【Android 应用开发】Android 网络编程 API笔记 - java.net 包相关 接口 api

    Android 网络编程相关的包 : 9 包, 20 接口, 103 类, 6 枚举, 14异常; -- Java包 : java.net 包 (6接口, 34类, 2枚举, 12异常); -- An ...

  2. 安卓TV开发(三) 移动智能设备之实现主流TV电视盒子焦点可控UI

    前言:移动智能设备的发展,推动了安卓另一个领域,包括智能电视和智能家居,以及可穿戴设备的大量使用,但是这些设备上的开发并不是和传统手机开发一样,特别是焦点控制和用户操作体验上有很大的区别,本系列博文主 ...

  3. Darwin Streaming Server 安装流程

    Darwin StreamingServer 安装流程 Darwin StreamingServer 支持开放源代码和基于标准的实时传输协议/实时流协议(RTP/ RTSP).MPEG-4 和MP3 ...

  4. jsp中的路径与跳转

    在jsp(serlvet)中,页面的"变换"有两种方式,第一重定向,第二转发: 先说重定向,它的调用方式是这样的 response.sendredirect("uri&q ...

  5. SpriteBuilder中音频波长超过Timeline结尾的情况

    见如下图: 注意最后一个音频波长延续到Timeline结尾之后.表明这个音频文件播放长度超过Timeline(动画)播放的长度.这是否成为一个问题要视情况而定.而在这里无所谓. 如果节点所拥有的Tim ...

  6. Android编译系统中的Kconfig,Makefile,.config编译系统浅析

    在对Android进行编译时,用的就是Linux下的Makefile和Kconfig编译系统,对整个系统进行编译.当然还包括很多配置命令,比如make defconfig, make oldconfi ...

  7. g++和gcc的相同点和区别

    gcc和g++的区别和联系 gcc和g++都是GNU(一个组织)的编译器. 1.对于.c后缀的文件,gcc把它当做是C程序:g++当做是C++程序: 2.对于.cpp后缀的文件,gcc和g++都会当做 ...

  8. Android NFC技术(三)——初次开发Android NFC你须知道NdefMessage和NdefRecord

    Android NFC技术(三)--初次开发Android NFC你须知道NdefMessage和NdefRecord 这最近也是有好多天没写博客了,除了到处张罗着搬家之外,依旧还是许许多多的琐事阻碍 ...

  9. C语言实现printf的基本格式输出%d,%c,%p,%s

    关于printf的实现,想必看过我之前发表的文章的伙伴们已经了解了不少基本的知识.好了,接下来不多说了,直接上源码,看看一种简单的实现方式: #include <stdio.h> #def ...

  10. Leetcode_263_Ugly Number

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/49431329 Write a program to che ...