Off-canvas

HTML
<div id="checkout"> <a href="javascript:void(0)" class="open-canvas"> <span></span> <span></span> <span></span> </a> <h1>Checkout</h1> <div class="off-canvas"> <a href="javascript:void(0)" class="close">X</a> <div class="content"> <header> <h4>Representante</h4> <ul> <li> <small>Nome</small> <span>Nome do representante</span> </li> <li> <small>E-mail</small> <span>email@representante.com.br</span> </li> </ul> </header> <div class="body"> <form action=""> <div> <label for="">Desconto:</label> <input type="text"><button>OK</button> </div> </form> </div> </div> </div> </div>
SCSS
body { font-family: 'Arial'; font-size: 100%; } #checkout { max-width: 800px; background-color: white; margin: 0 auto; border: 1px solid #999; border-radius: 5px; padding: 10px; position: relative; overflow: hidden; min-height: 500px; .open-canvas { width: 30px; display: block; position: absolute; right: 0; margin: 10px; top: 0; span { border: 2px solid #999; margin-bottom: 5px; display: block; padding: 0; } } .off-canvas { color: white; position: absolute; background-color: #373a47; right: 0; top: 0; height: 100%; width: 300px; right: -300px; visibility: hidden; opacity: 0; transition: all .2s ease-in-out; &.opened { visibility: visible; right: 0px; opacity: 1; } .content { margin: 10px; header { h4 { margin: 0 0 1em; border-bottom: 1px solid white; padding-bottom: 1em; } ul { padding: 0; li { list-style: none; margin-bottom:.5em; small { text-transform: uppercase; font-weight: bold; font-size: 0.6em } small,span { display: block } } } } .body { margin-top: 2em; label { display: block; font-weight: bold; } } } .close { position: absolute; color: white; right: 0; top: 0; margin: 10px; font-weight: bold; font-size: .7em; } } } body { #checkout { &:before { content: ''; background-color: white; opacity: 0; width: 100%; height: 100%; position: absolute; top: 0; left: 0; transition: all .5s ease; } } &.show-off-canvas { #checkout { &:before { opacity: 1; background-color: rgba(0,0,0,0.1) } } } }
JAVASCRIPT
$(function() { $('.open-canvas').on('click', function() { $('body').addClass('show-off-canvas'); $('.off-canvas').addClass('opened'); }); $('.off-canvas .close').on('click', function() { $('body').removeClass('show-off-canvas'); $('.off-canvas').removeClass('opened'); }); $(document).on('click', function(e) { }); });
Expand for more options Login