css实现iPhone的切换按钮

http://jingyan.baidu.com/article/7c6fb4281e225680642c90c4.html为什么我做的没有绿色背景... http://jingyan.baidu.com/article/7c6fb4281e225680642c90c4.html

为什么我做的没有绿色背景
展开
 我来答
千锋教育
2016-01-09 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
  1. 新建一个页面,如下图。

  2. 把checkbox藏起来,切换按钮主要用label实现。给label加上适当的css属性

  3. 给label加上before和after伪类。before作为下面的横槽,after作为切换的圆按钮

    先给label加上定位的css

    #chk-toggle + label:before,

    #chk-toggle + label:after {

        display: block;

        position: absolute;

        top: 1px;

        left: 1px;

        bottom: 1px;

        content: "";

    }

    如果不写bottom,那before和after还需要分别写高度

  4. 加上原型按钮

    #chk-toggle + label:after {

        width: 58px;

        background-color: #fff;

        border-radius: 100%;

        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);

        transition: margin 0.4s;

    }

  5. 加底

    #chk-toggle + label:before {

        right: 1px;

        background-color: #f1f1f1;

        border-radius: 60px;

        transition: background 0.4s;

    }

    注意,after和before中的transition都是为了之后的切换动作用的

  6. 现在只差最后的checked了

    #chk-toggle:checked + label:before {

        background-color: #8ce196;

    }

    #chk-toggle:checked + label:after {

        margin-left: 60px;

    }

  7. 在console中可以看到切换时,checkbox的状态


冰晴lj
2015-01-15 · TA获得超过1319个赞
知道小有建树答主
回答量:333
采纳率:100%
帮助的人:269万
展开全部
你把按钮划过去了吗,
我也试了下,有绿色的
<style type="text/css">

#chk-toggle{display: none;}
#chk-toggle + label{display: block; position: relative; cursor: pointer; padding: 2px; width:120px; height:60px;background-color: #ddd; border-radius: 60px;}
#chk-toggle + label:before,#chk-toggle + label:after{display: block; position: absolute; top: 1px; left: 1px; bottom: 1px; content: "";}
#chk-toggle + label:after{width: 58px; background-color: #fff; border-radius: 100%; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); transition: margin 0.4s;}
#chk-toggle + label:before{right: 1px; background-color: #f1f1f1; border-radius: 60px; transition: background 0.4s;}
#chk-toggle:checked + label:before{background-color: #8ce196;}
#chk-toggle:checked + label:after{margin-left: 60px;}
</style>
<div class="switch">
<input id="chk-toggle" type="checkbox" />
<label for="chk-toggle"></label>
</div>
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式