css3 图钉,CSS3 带图钉动画的切换开关

CSS

语言:

CSSSCSS

确定

@import "compass/css3";

*, *:after, *:before{

@include box-sizing(border-box);

}

$prim : #4285F4;

$dark : #347DFB;

body{

text-align: center;

background: $prim;

padding: 100px;

}

/*=====================*/

.checkbox{

position: relative;

display: inline-block;

label{

width: 90px;

height: 42px;

background: #D7E7FF;

position: relative;

display: inline-block;

@include border-radius(46px);

@include transition(.4s);

&:after, &:before{

content: '';

position: absolute;

width: 50px;

height: 50px;

@include border-radius(100%);

right: 0;

top: -5px;

background: #fff;

@include box-shadow(0 0 5px rgba(0,0,0,.2));

@include transition(.4s);

}

&:before{

content: '\f08d';

font-family: FontAwesome;

font-weight: normal;

font-size: 24px;

line-height: 50px;

color: $prim;

z-index: 1;

overflow: hidden;

@include animation(.5s pin-off forwards)

}

}

input{

position: absolute;

left: 0;

top: 0;

width: 100%;

height: 100%;

z-index: 5;

opacity: 0;

cursor:pointer;

&:hover +label:after{

@include box-shadow(0 2px 15px 0 rgba(0, 0, 0, .2), 0 3px 8px 0 rgba(0, 0, 0, .15))

}

&:checked + label{

background: $dark;

&:after, &:before{

background: $prim;

color: #fff;

right: 40px;

}

&:before{

@include animation(.5s pin-on forwards);

}

}

}

}

@include keyframes(pin-on){

80%{ line-height: 150px;}

85%{ line-height: 1px; @include rotate(45deg); opacity:0}

100%{ line-height: 50px; opacity:1; @include rotate(45deg)}

}

@include keyframes(pin-off){

0%{@include rotate(45deg)}

80%{ line-height: 150px; }

85%{ line-height: 1px; opacity:0}

100%{ line-height: 50px; opacity:1; }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值