UNPKG

@pqina/flip

Version:

A Beautifully Animated Flip Clock

236 lines (207 loc) 5.36 kB
/* * @pqina/flip v1.8.3 - A Beautifully Animated Flip Clock * Copyright (c) 2023 PQINA - https://pqina.nl/flip/ */ /** * Layout */ .tick-flip { position: relative; text-align: center; } .tick-flip * { border-radius: inherit; white-space: pre; } .tick-flip * { letter-spacing: inherit; text-indent: inherit; } .tick-flip-front { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } .tick-flip-back { border-top-left-radius: 0; border-top-right-radius: 0; } .tick-flip-spacer { display: block; visibility: hidden; } .tick-flip-shadow { position: absolute; left: 1px; right: 1px; top: 1px; bottom: 1px; color: transparent !important; background: transparent !important; } .tick-flip-shadow-top { bottom: calc(50% - 1px); } .tick-flip-shadow-bottom { top: calc(50% + 1px); } .tick-flip-card-shadow { position: absolute; left: 0.15em; right: 0.15em; bottom: 0.125em; height: 0.5em; background-color: transparent; border-radius: 0; opacity: 0; -webkit-transform-origin: 0 100%; transform-origin: 0 100%; box-shadow: 0 0.125em 0.25em rgba(0, 0, 0, 0.5), 0 0.125em 0.5em rgba(0, 0, 0, 0.75); z-index: 0; } /** * Card */ .tick-flip-card { position: absolute; z-index: 1; left: 0; top: 0; width: 100%; height: 100%; -webkit-perspective: 4em; perspective: 4em; } .tick-flip-panel-front, .tick-flip-panel-back { position: absolute; left: 0; width: 100%; height: 51%; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; } .tick-flip-panel-front-text, .tick-flip-panel-back-text { position: absolute; left: -1px; top: 0; right: -1px; height: 100%; overflow: hidden; } .tick-flip-panel-text-wrapper { position: absolute; left: 0; top: 0; right: 0; height: 100%; } .tick-flip-panel-back-text .tick-flip-panel-text-wrapper { height: 200%; top: -100%; } .tick-flip-panel-front { -webkit-transform-origin: center bottom; transform-origin: center bottom; top: 0; z-index: 2; box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); } .tick-flip-panel-back { -webkit-transform-origin: center top; transform-origin: center top; top: 50%; z-index: 1; box-shadow: inset 0 -1px rgba(0, 0, 0, 0.1); } .tick-flip-panel-back::after { z-index: 1; content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.3) 1px, rgba(0, 0, 0, 0.15) 1px, rgba(0, 0, 0, 0) 30%); background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 1px, rgba(0, 0, 0, 0.15) 1px, rgba(0, 0, 0, 0) 30%); } .tick-flip-panel-back-shadow { z-index: 2; } .tick-flip-panel-back-highlight { z-index: 3; } .tick-flip-panel-back-shadow, .tick-flip-panel-back-highlight { border-bottom-left-radius: inherit; border-bottom-right-radius: inherit; } .tick-flip-panel-front-shadow, .tick-flip-panel-back-shadow, .tick-flip-panel-back-highlight { position: absolute; left: 0; top: 0; right: 0; bottom: 0; opacity: 0; } .tick-flip-panel-front-shadow { background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.3)); background-image: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.3)); } .tick-flip-panel-back-shadow { background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.5)); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.5)); } .tick-flip-panel-back-highlight { background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.3)); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.3)); } .tick [data-style*="shadow:inner"], .tick [data-style*="shadow:inner"] .tick-flip-card-shadow { box-shadow: none; } .tick [data-style*="shadow:none"] .tick-flip-panel-front, .tick [data-style*="shadow:none"] .tick-flip-panel-back, .tick [data-style*="shadow:none"] .tick-flip-shadow, .tick [data-style*="shadow:none"] .tick-flip-card-shadow { box-shadow: none; } .tick [data-style*="shadow:none"] .tick-flip-back::after, .tick [data-style*="shadow:none"] .tick-flip-panel-front-shadow, .tick [data-style*="shadow:none"] .tick-flip-panel-back-shadow, .tick [data-style*="shadow:none"] .tick-flip-panel-back-text::after { background-image: none; } .tick [data-style*="rounded:none"] { border-radius: 0; } .tick [data-style*="rounded:panels"] .tick-flip-shadow-bottom, .tick [data-style*="rounded:panels"] .tick-flip-front { border-bottom-left-radius: inherit; border-bottom-right-radius: inherit; } .tick [data-style*="rounded:panels"] .tick-flip-shadow-top, .tick [data-style*="rounded:panels"] .tick-flip-panel-back::after, .tick [data-style*="rounded:panels"] .tick-flip-back { border-top-left-radius: inherit; border-top-right-radius: inherit; } .tick-flip { margin-left: 0.0625em; margin-right: 0.0625em; min-width: 1.125em; border-radius: 0.125em; letter-spacing: 0.25em; text-indent: 0.25em; } .tick-flip-panel { color: #edebeb; background-color: #333232; } .tick-flip-shadow { box-shadow: 0 0.125em 0.3125em rgba(0, 0, 0, 0.25), 0 0.02125em 0.06125em rgba(0, 0, 0, 0.25); }