Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <title>Fancy Button Animation</title>
- <style>
- body {
- display: flex;
- justify-content: center;
- align-items: center;
- height: 100vh;
- background: #fcf3ec;
- }
- .button {
- --offset: 10px;
- --border-size: 2px;
- display: block;
- position: relative;
- padding: 1.5em 3em;
- -webkit-appearance: none;
- -moz-appearance: none;
- appearance: none;
- border: 0;
- background: transparent;
- color: #e55743;
- text-transform: uppercase;
- letter-spacing: .25em;
- outline: none;
- cursor: pointer;
- font-weight: bold;
- border-radius: 0;
- box-shaddow: inset 0 0 0 var(--border-size) currentcolor;
- transition: background .8s ease;
- }
- .button:hover {
- background: rgba(100, 0, 0, 0.03);
- }
- .button_horizontal, .button_vertical {
- position: absolute;
- top: var(--horizontal-offset, 0);
- right: var(--vertical-offset, 0);
- bottom: var(--horizontal-offset, 0);
- left: var(--vertical-offset, 0);
- transition: -webkit-transform .8s ease;
- transition: transform .8s ease;
- transition: transform .8s ease, -webkit-transform .8s ease;
- will-change: transform;
- }
- .button_horizontal::before, .button_vertical::before {
- content: '';
- position: absolute;
- border: inherit;
- }
- .button_horizontal {
- --vertical-offset: calc(var(--offset) * -1);
- border-top: var(--border-size) solid currentcolor;
- border-bottom: var(--border-size) solid currentcolor;
- }
- .button_horizontal::before {
- top: calc(var(--vertical-offset) - var(--border-size));
- bottom: calc(var(--vertical-offset) - var(--border-size));
- left: calc(var(--vertical-offset) * -1);
- right: calc(var(--vertical-offset) * -1);
- }
- .button:hover .button_horizontal {
- -webkit-transform: scaleX(0);
- transform: scaleX(0);
- }
- .button_vertical {
- --horizontal-offset: calc(var(--offset) * -1);
- border-left: var(--border-size) solid currentcolor;
- border-right: var(--border-size) solid currentcolor;
- }
- .button_vertical::before {
- left: calc(var(--horizontal-offset) - var(--border-size));
- right: calc(var(--horizontal-offset) - var(--border-size));
- top: calc(var(--horizontal-offset) * -1);
- bottom: calc(var(--horizontal-offset) * -1);
- }
- .button:hover .button_vertical {
- -webkit-transform: scaleY(0);
- transform: scaleY(0);
- }
- </style>
- <body>
- <button class="button">Fancy Button
- <div class="button_horizontal"></div>
- <div class="button_vertical"></div>
- </button>
- </body>
Advertisement
Add Comment
Please, Sign In to add comment