Art Deco Style Button

HTML
<div class="contain"> <p> <a href="#" class="roman-link"> <span class="bg-large"> <span class="roman-top-left"></span> <span class="roman-bottom-right"></span> </span> <span class="bg-tall"> <span class="roman-top-left"></span> <span class="roman-bottom-right"></span> </span> <span class="bg-medium"> <span class="roman-top-left"></span> <span class="roman-bottom-right"></span> </span> Classic Link </a> </p> </div>
CSS
body { background-color:#1a1a1a; } .contain { width:500px; margin: 3em auto; } .roman-link { position: relative; color: #FFF; text-decoration: none; padding: 10px 20px; text-align: center; display: inline-block; } .roman-link span.bg-large { box-sizing: content-box; position: absolute; top: 0; left: -4px; padding: 0 4px; width: 100%; height: 100%; border: 1px solid rgba(255,255,255,.15); } .roman-link span.bg-large .roman-top-left::after { position: absolute; top: 0; left: 0; bottom: 0; height: 1px; width: 0; background-color: rgba(255,255,255,0.9); display: block; content: ""; transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s; } .roman-link:hover span.bg-large .roman-top-left::after { width: 100%; } .roman-link span.bg-large .roman-top-left::before { position: absolute; top: 0; left: 0; bottom: 0; height: 0; width: 1px; background-color: rgba(255,255,255,0.9); display: block; content: ""; transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s; } .roman-link:hover span.bg-large .roman-top-left::before { height: 100%; } .roman-link span.bg-large .roman-bottom-right::after { position: absolute; bottom: 0; right: 0; bottom: 0; height: 1px; width: 0; background-color: rgba(255,255,255,0.9); display: block; content: ""; transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s; } .roman-link:hover span.bg-large .roman-bottom-right::after { width: 100%; } .roman-link span.bg-large .roman-bottom-right::before { position: absolute; bottom: 0; right: 0; bottom: 0; height: 0; width: 1px; background-color: rgba(255,255,255,0.9); display: block; content: ""; transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s; } .roman-link:hover span.bg-large .roman-bottom-right::before { height: 100%; } .roman-link span.bg-tall { -webkit-box-sizing: content-box; box-sizing: content-box; position: absolute; top: -4px; left: 0; padding: 4px 0; width: 100%; height: 100%; -webkit-transform: translateZ(0); transform: translateZ(0); border: 1px solid rgba(255,255,255,.2); } .roman-link span.bg-tall .roman-top-left::after { position: absolute; top: 0; left: 0; bottom: 0; height: 1px; width: 0; background-color: rgba(255,255,255,0.9); display: block; content: ""; transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s; } .roman-link:hover span.bg-tall .roman-top-left::after { width: 100%; } .roman-link span.bg-tall .roman-top-left::before { position: absolute; top: 0; left: 0; bottom: 0; height: 0; width: 1px; background-color: rgba(255,255,255,0.9); display: block; content: ""; transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s; } .roman-link:hover span.bg-tall .roman-top-left::before { height: 100%; } .roman-link span.bg-tall .roman-bottom-right::after { position: absolute; bottom: 0; right: 0; bottom: 0; height: 1px; width: 0; background-color: rgba(255,255,255,0.9); display: block; content: ""; transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s; } .roman-link:hover span.bg-tall .roman-bottom-right::after { width: 100%; } .roman-link span.bg-tall .roman-bottom-right::before { position: absolute; bottom: 0; right: 0; bottom: 0; height: 0; width: 1px; background-color: rgba(255,255,255,0.9); display: block; content: ""; transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s; } .roman-link:hover span.bg-tall .roman-bottom-right::before { height: 100%; } .roman-link span.bg-medium { -webkit-box-sizing: content-box; box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; position: absolute; top: -8px; left: 4px; padding: 8px 0; width: -webkit-calc(100% - 8px); width: calc(100% - 8px); height: 100%; -webkit-transform: translateZ(0); transform: translateZ(0); -webkit-transform: translateZ(0); transform: translateZ(0); border: 1px solid rgba(255,255,255,.05); } .roman-link span.bg-medium .roman-top-left::after { position: absolute; top: 0; left: 0; bottom: 0; height: 1px; width: 0; background-color: rgba(255,255,255,0.9); display: block; content: ""; transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s; } .roman-link:hover span.bg-medium .roman-top-left::after { width: 100%; } .roman-link span.bg-medium .roman-top-left::before { position: absolute; top: 0; left: 0; bottom: 0; height: 0; width: 1px; background-color: rgba(255,255,255,0.9); display: block; content: ""; transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s; } .roman-link:hover span.bg-medium .roman-top-left::before { height: 100%; } .roman-link span.bg-medium .roman-bottom-right::after { position: absolute; bottom: 0; right: 0; bottom: 0; height: 1px; width: 0; background-color: rgba(255,255,255,0.9); display: block; content: ""; transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s; } .roman-link:hover span.bg-medium .roman-bottom-right::after { width: 100%; } .roman-link span.bg-medium .roman-bottom-right::before { position: absolute; bottom: 0; right: 0; bottom: 0; height: 0; width: 1px; background-color: rgba(255,255,255,0.9); display: block; content: ""; transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s; } .roman-link:hover span.bg-medium .roman-bottom-right::before { height: 100%; }
JAVASCRIPT
Expand for more options Login