CSS3自定义Checkbox特效 5种炫酷效果

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>CSS3自定义Checkbox特效DEMO演示</title>
    <link rel="stylesheet" href="css/style.css" media="screen" type="text/css" />
    <style>
        html, body {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          min-height: 100%;
          -webkit-box-pack: center;
          -webkit-justify-content: center;
          -ms-flex-pack: center;
          justify-content: center;
          -webkit-box-align: center;
          -webkit-align-items: center;
          -ms-flex-align: center;
          align-items: center;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -webkit-flex-direction: column;
          -ms-flex-direction: column;
          flex-direction: column;
          font-family: sans-serif;
        }

        ul, li {
          list-style: none;
          margin: 0;
          padding: 0;
        }

        .tg-list {
          text-align: center;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -webkit-align-items: center;
          -ms-flex-align: center;
          align-items: center;
        }

        .tg-list-item {
          margin: 0 2em;
        }

        h2 {
          color: #777;
        }

        h4 {
          color: #999;
        }

        .tgl {
          display: none;
        }
        .tgl, .tgl:after, .tgl:before, .tgl *, .tgl *:after, .tgl *:before, .tgl + .tgl-btn {
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          box-sizing: border-box;
        }
        .tgl::-moz-selection, .tgl:after::-moz-selection, .tgl:before::-moz-selection, .tgl *::-moz-selection, .tgl *:after::-moz-selection, .tgl *:before::-moz-selection, .tgl + .tgl-btn::-moz-selection {
          background: none;
        }
        .tgl::selection, .tgl:after::selection, .tgl:before::selection, .tgl *::selection, .tgl *:after::selection, .tgl *:before::selection, .tgl + .tgl-btn::selection {
          background: none;
        }
        .tgl + .tgl-btn {
          outline: 0;
          display: block;
          width: 4em;
          height: 2em;
          position: relative;
          cursor: pointer;
        }
        .tgl + .tgl-btn:after, .tgl + .tgl-btn:before {
          position: relative;
          display: block;
          content: "";
          width: 50%;
          height: 100%;
        }
        .tgl + .tgl-btn:after {
          left: 0;
        }
        .tgl + .tgl-btn:before {
          display: none;
        }
        .tgl:checked + .tgl-btn:after {
          left: 50%;
        }

        .tgl-light + .tgl-btn {
          background: #f0f0f0;
          border-radius: 2em;
          padding: 2px;
          -webkit-transition: all .4s ease;
          transition: all .4s ease;
        }
        .tgl-light + .tgl-btn:after {
          border-radius: 50%;
          background: #fff;
          -webkit-transition: all .2s ease;
          transition: all .2s ease;
        }
        .tgl-light:checked + .tgl-btn {
          background: #9FD6AE;
        }

        .tgl-ios + .tgl-btn {
          background: #fbfbfb;
          border-radius: 2em;
          padding: 2px;
          -webkit-transition: all .4s ease;
          transition: all .4s ease;
          border: 1px solid #e8eae9;
        }
        .tgl-ios + .tgl-btn:after {
          border-radius: 2em;
          background: #fbfbfb;
          -webkit-transition: left 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), padding 0.3s ease, margin 0.3s ease;
          transition: left 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), padding 0.3s ease, margin 0.3s ease;
          -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 4px 0 rgba(0, 0, 0, 0.08);
          box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 4px 0 rgba(0, 0, 0, 0.08);
        }
        .tgl-ios + .tgl-btn:active {
          -webkit-box-shadow: inset 0 0 0 2em #e8eae9;
          box-shadow: inset 0 0 0 2em #e8eae9;
        }
        .tgl-ios + .tgl-btn:active:after {
          padding-right: .8em;
        }
        .tgl-ios:checked + .tgl-btn {
          background: #86d993;
        }
        .tgl-ios:checked + .tgl-btn:active {
          -webkit-box-shadow: none;
          box-shadow: none;
        }
        .tgl-ios:checked + .tgl-btn:active:after {
          margin-left: -.8em;
        }

        .tgl-skewed + .tgl-btn {
          overflow: hidden;
          -webkit-transform: skew(-10deg);
          -ms-transform: skew(-10deg);
          transform: skew(-10deg);
          -webkit-backface-visibility: hidden;
          -ms-backface-visibility: hidden;
          backface-visibility: hidden;
          -webkit-transition: all .2s ease;
          transition: all .2s ease;
          font-family: sans-serif;
          background: #888;
        }
        .tgl-skewed + .tgl-btn:after, .tgl-skewed + .tgl-btn:before {
          -webkit-transform: skew(10deg);
          -ms-transform: skew(10deg);
          transform: skew(10deg);
          display: inline-block;
          -webkit-transition: all .2s ease;
          transition: all .2s ease;
          width: 100%;
          text-align: center;
          position: absolute;
          line-height: 2em;
          font-weight: bold;
          color: #fff;
          text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
        }
        .tgl-skewed + .tgl-btn:after {
          left: 100%;
          content: attr(data-tg-on);
        }
        .tgl-skewed + .tgl-btn:before {
          left: 0;
          content: attr(data-tg-off);
        }
        .tgl-skewed + .tgl-btn:active {
          background: #888;
        }
        .tgl-skewed + .tgl-btn:active:before {
          left: -10%;
        }
        .tgl-skewed:checked + .tgl-btn {
          background: #86d993;
        }
        .tgl-skewed:checked + .tgl-btn:before {
          left: -100%;
        }
        .tgl-skewed:checked + .tgl-btn:after {
          left: 0;
        }
        .tgl-skewed:checked + .tgl-btn:active:after {
          left: 10%;
        }

        .tgl-flat + .tgl-btn {
          padding: 2px;
          -webkit-transition: all .2s ease;
          transition: all .2s ease;
          background: #fff;
          border: 4px solid #f2f2f2;
          border-radius: 2em;
        }
        .tgl-flat + .tgl-btn:after {
          -webkit-transition: all .2s ease;
          transition: all .2s ease;
          background: #f2f2f2;
          content: "";
          border-radius: 1em;
        }
        .tgl-flat:checked + .tgl-btn {
          border: 4px solid #7FC6A6;
        }
        .tgl-flat:checked + .tgl-btn:after {
          left: 50%;
          background: #7FC6A6;
        }

        .tgl-flip + .tgl-btn {
          padding: 2px;
          -webkit-transition: all .2s ease;
          transition: all .2s ease;
          font-family: sans-serif;
          -webkit-perspective: 100px;
          -ms-perspective: 100px;
          perspective: 100px;
        }
        .tgl-flip + .tgl-btn:after, .tgl-flip + .tgl-btn:before {
          display: inline-block;
          -webkit-transition: all .4s ease;
          transition: all .4s ease;
          width: 100%;
          text-align: center;
          position: absolute;
          line-height: 2em;
          font-weight: bold;
          color: #fff;
          position: absolute;
          top: 0;
          left: 0;
          -webkit-backface-visibility: hidden;
          -ms-backface-visibility: hidden;
          backface-visibility: hidden;
          border-radius: 4px;
        }
        .tgl-flip + .tgl-btn:after {
          content: attr(data-tg-on);
          background: #02C66F;
          -webkit-transform: rotateY(-180deg);
          -ms-transform: rotateY(-180deg);
          transform: rotateY(-180deg);
        }
        .tgl-flip + .tgl-btn:before {
          background: #FF3A19;
          content: attr(data-tg-off);
        }
        .tgl-flip + .tgl-btn:active:before {
          -webkit-transform: rotateY(-20deg);
          -ms-transform: rotateY(-20deg);
          transform: rotateY(-20deg);
        }
        .tgl-flip:checked + .tgl-btn:before {
          -webkit-transform: rotateY(180deg);
          -ms-transform: rotateY(180deg);
          transform: rotateY(180deg);
        }
        .tgl-flip:checked + .tgl-btn:after {
          -webkit-transform: rotateY(0);
          -ms-transform: rotateY(0);
          transform: rotateY(0);
          left: 0;
          background: #7FC6A6;
        }
        .tgl-flip:checked + .tgl-btn:active:after {
          -webkit-transform: rotateY(20deg);
          -ms-transform: rotateY(20deg);
          transform: rotateY(20deg);
        }
    </style>
</head>

<body>
    <h2>Toggle it!</h2>
    <ul class='tg-list'>
      <li class='tg-list-item'>
        <h4>Light</h4>
        <input class='tgl tgl-light' id='cb1' type='checkbox'>
        <label class='tgl-btn' for='cb1'></label>
      </li>
      <li class='tg-list-item'>
        <h4>iOS 7</h4>
        <input class='tgl tgl-ios' id='cb2' type='checkbox'>
        <label class='tgl-btn' for='cb2'></label>
      </li>
      <li class='tg-list-item'>
        <h4>Skewed</h4>
        <input class='tgl tgl-skewed' id='cb3' type='checkbox'>
        <label class='tgl-btn' data-tg-off='OFF' data-tg-on='ON' for='cb3'></label>
      </li>
      <li class='tg-list-item'>
        <h4>Flat</h4>
        <input class='tgl tgl-flat' id='cb4' type='checkbox'>
        <label class='tgl-btn' for='cb4'></label>
      </li>
      <li class='tg-list-item'>
        <h4>Flip</h4>
        <input class='tgl tgl-flip' id='cb5' type='checkbox'>
        <label class='tgl-btn' data-tg-off='Nope' data-tg-on='Yeah!' for='cb5'></label>
      </li>
    </ul>
    <div style="text-align:center;clear:both">
    </div>
</body>

</html>

这里写图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值