一款基于css3和jquery实现的动画显示弹出层按钮教程

  今天给大家分享一款基于css3和jquery实现的动画弹出层。这款弹出层初页面面一个显示弹出层按钮。单击该按钮时,弹出层以非常炫的动画形式出现。弹出层有关闭按钮,单击半闭按钮,弹出层关闭。效果图如下:

  实现的代码。

  

html代码:

XML/HTML Code复制内容到剪贴板 <div class="papersheet">           <!-- Action Trigger -->           <div class="papersheet__trigger">               <!-- Icon -->               <svg class="papersheet__trigger-icon" viewbox="0 0 24 24"><g transform="scale(0.023 0.023)"><path d="M1014.662 822.66c-0.004-0.004-0.008-0.008-0.012-0.010l-310.644-310.65 310.644-310.65c0.004-0.004 0.008-0.006 0.012-0.010 3.344-3.346 5.762-7.254 7.312-11.416 4.246-11.376 1.824-24.682-7.324-33.83l-146.746-146.746c-9.148-9.146-22.45-11.566-33.828-7.32-4.16 1.55-8.070 3.968-11.418 7.31 0 0.004-0.004 0.006-0.008 0.010l-310.648 310.652-310.648-310.65c-0.004-0.004-0.006-0.006-0.010-0.010-3.346-3.342-7.254-5.76-11.414-7.31-11.38-4.248-24.682-1.826-33.83 7.32l-146.748 146.748c-9.148 9.148-11.568 22.452-7.322 33.828 1.552 4.16 3.97 8.072 7.312 11.416 0.004 0.002 0.006 0.006 0.010 0.010l310.65 310.648-310.65 310.652c-0.002 0.004-0.006 0.006-0.008 0.010-3.342 3.346-5.76 7.254-7.314 11.414-4.248 11.376-1.826 24.682 7.322 33.83l146.748 146.746c9.15 9.148 22.452 11.568 33.83 7.322 4.16-1.552 8.070-3.97 11.416-7.312 0.002-0.004 0.006-0.006 0.010-0.010l310.648-310.65 310.648 310.65c0.004 0.002 0.008 0.006 0.012 0.008 3.348 3.344 7.254 5.762 11.414 7.314 11.378 4.246 24.684 1.826 33.828-7.322l146.746-146.748c9.148-9.148 11.57-22.454 7.324-33.83-1.552-4.16-3.97-8.068-7.314-11.414z"></path></g></svg>           </div>           <!-- Face 1 -->           <div class="papersheet__face-item animated fadeInUp">               <img src="128.jpg" alt="" />           </div>           <!-- Face 2 -->           <div class="papersheet__face-item animated fadeInUp">               <img src="129.jpg" alt="" />           </div>           <!-- Face 2 -->           <div class="papersheet__face-item animated fadeInUp">               <img src="130.jpg" alt="" />           </div>       </div>       <script src=jquery.js></script>       <script>           _papersheet = $(.papersheet);            _trigger = $(.papersheet__trigger);            _trigger.click(function () {                if (_papersheet.hasClass(opened)) {                    $(this).parent(.papersheet).stop().removeClass(opened);                } else {                    $(this).parent(.papersheet).stop().addClass(opened);                }            });            //@ sourceURL=pen.js        </script>  

  

css3代码:

CSS Code复制内容到剪贴板 @import url("http://daneden.github.io/animate.css/animate.min.css");            :root            {                width: 100%;                height: 100%;            }            body            {                width: 100%;                height: 100%;                display: -webkit-flex;                display: -ms-flexbox;                display: flex;                -webkit-align-items: center;                -ms-flex-align: center;                align-items: center;                -webkit-justify-contentcenter;                -ms-flex-pack: center;                justify-contentcenter;                overflowhidden;                background-color#263238;            }            .papersheet            {                positionrelative;                overflowhidden;                text-aligncenter;                -moz-box-sizing: border-box;                box-sizing: border-box;                -webkit-transition: all 200ms;                transition: all 200ms;                width: 100%;                height: 100%;                max-width: 50%;                min-width: 50rem;                max-height: 50%;                min-height: 20rem;                margin: 0 auto;                display: -webkit-flex;                display: -ms-flexbox;                display: flex;                -webkit-align-items: center;                -ms-flex-align: center;                align-items: center;                -webkit-justify-contentcenter;                -ms-flex-pack: center;                justify-contentcenter;            }            .papersheet.opened            {                -webkit-transition: all 900ms;                transition: all 900ms;                box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.5);            }            .papersheet__trigger            {                z-index: 1;                displayinline-block;                padding: 2rem;                border-radius: 50%;                positionabsolute;                background-colortransparent;                top: 50%;                left: 50%;                -webkit-transform: translate(-50%, -50%);                -ms-transform: translate(-50%, -50%);                transform: translate(-50%, -50%);                -webkit-transition: all 800ms cubic-bezier(0.19, 1, 0.22, 1);                transition: all 800ms cubic-bezier(0.19, 1, 0.22, 1);                cursorpointer;            }            .opened .papersheet__trigger            {                background-color#eceff1;                top: 10%;            }            .papersheet__trigger:hover            {                box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.5);            }            .papersheet__trigger:active:before            {                background-color#d5d5d5;            }            .papersheet__trigger:before            {                content"";                background-color#eceff1;                displayblock;                positionabsolute;                border-radius: 50%;                top: 50%;                left: 50%;                bottombottom: 50%;                rightright: 50%;                width: 6rem;                height: 6rem;                z-index: 0;                pointer-events: none;                -webkit-transform: translate(-50%, -50%);                -ms-transform: translate(-50%, -50%);                transform: translate(-50%, -50%);                -webkit-transition-delay: 2s;                transition-delay: 2s;                -webkit-transition: all 400ms cubic-bezier(0.165, 0.84, 0.44, 1);                transition: all 400ms cubic-bezier(0.165, 0.84, 0.44, 1);            }            .opened .papersheet__trigger:before            {                width3000px;                height3000px;                -webkit-transition: all 2.5s cubic-bezier(0.165, 0.84, 0.44, 1);                transition: all 2.5s cubic-bezier(0.165, 0.84, 0.44, 1);            }            .papersheet__trigger-icon           {                fill: #37474f;                vertical-alignbottombottom;                -webkit-transform: rotate(45deg);                -ms-transform: rotate(45deg);                transform: rotate(45deg);                -webkit-transition: all 800ms cubic-bezier(0.19, 1, 0.22, 1);                transition: all 800ms cubic-bezier(0.19, 1, 0.22, 1);                -webkit-transition-delay: 50ms;                transition-delay: 50ms;                width: 1.8rem;                height: 1.8rem;            }            .opened .papersheet__trigger-icon           {                -webkit-transform: rotate(-360deg);                -ms-transform: rotate(-360deg);                transform: rotate(-360deg);            }            .papersheet__face-item            {                border-radius: 50%;                margin: 0 1.5rem;                z-index: 1;                height: 6rem;                width: 6rem;                displaynone;                overflowhidden;            }            .papersheet__face-item:nth-child(2)            {                -webkit-animation-delay: 50ms;                animation-delay: 50ms;            }            .papersheet__face-item:nth-child(3)            {                -webkit-animation-delay: 150ms;                animation-delay: 150ms;            }            .papersheet__face-item:nth-child(4)            {                -webkit-animation-delay: 250ms;                animation-delay: 250ms;            }            .papersheet__face-item img            {                max-width: 100%;            }            .opened .papersheet__face-item            {                -webkit-transform: translateX(60%);                -ms-transform: translateX(60%);                transform: translateX(60%);                displayblock;            }  

一款基于css3和jquery实现的动画显示弹出层按钮教程