Skip to content
Snippets Groups Projects
Select Git revision
  • 56ebe08b90860f353a20435bd1e533f77083904d
  • master default protected
  • feat/new-image-formats
  • clickable-select-chevron
  • 2.20.0
  • 2.19.0
  • 2.18.0
  • 2.17.0
  • 2.16.1
  • 2.16.0
  • 2.15.0
  • 2.14.0
  • 2.13.0
  • 2.12.1
  • 2.11.0
  • 2.10.0
  • 2.9.1
  • 2.9.0
  • 2.8.0
  • 2.7.1
  • 2.7.0
  • 2.6.0
  • 2.5.2
  • 2.5.1
24 results

flip-clock.pcss

Blame
  • user avatar
    xaralis authored
    e7ba4719
    History
    flip-clock.pcss 3.26 KiB
    .flip-clock {
      @apply text-center;
    
      perspective: 600px;
    }
    
    .flip-clock__piece {
      @apply relative inline-flex justify-center mx-1;
    }
    
    .flip-clock__slot {
      @apply absolute block bottom-0 z-50;
    
      transform: translateY(55%);
      text-shadow: 0 0 1.5rem theme('colors.black');
    }
    
    .flip-card {
      @apply block relative font-alt;
    
      padding-bottom: 0.85em;
    
      /* Additional outline around clock */
      &:after {
        @apply absolute;
    
        content: "";
        position: absolute;
        width: 90%;
        height: 108%;
        top: -4%;
        left: 5%;
        z-index: -1;
      }
    }
    
    .flip-card__top,
    .flip-card__bottom,
    .flip-card__back-bottom,
    .flip-card__back:before,
    .flip-card__back:after,
    .flip-card__top-4digits,
    .flip-card__bottom-4digits,
    .flip-card__back-bottom-4digits,
    .flip-card__back-4digits:before,
    .flip-card__back-4digits:after {
      @apply block text-white bg-black;
    
      height: 0.85em;
      padding: 0.35em 0.1em 0.4em;
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
      transform-style: preserve-3d;
    }
    
    .flip-card:after,
    .flip-card__top,
    .flip-card__bottom,
    .flip-card__back:before,
    .flip-card__back:after,
    .flip-card__back-bottom,
    .flip-card__bottom-4digits,
    .flip-card__back-bottom-4digits {
      @apply border border-grey-300;
    }
    
    .flip-card__top,
    .flip-card__back:before,
    .flip-card__back:after {
      @apply border-b-0;
    }
    
    .flip-card__top,
    .flip-card__bottom,
    .flip-card__back-bottom,
    .flip-card__back:before,
    .flip-card__back:after {
      width: 1.9em;
    }
    
    .flip-card__top-4digits,
    .flip-card__bottom-4digits,
    .flip-card__back-bottom-4digits,
    .flip-card__back-4digits:before,
    .flip-card__back-4digits:after {
      width: 2.4em;
    }
    
    .flip-card__bottom,
    .flip-card__back-bottom,
    .flip-card__bottom-4digits,
    .flip-card__back-bottom-4digits {
      @apply absolute left-0 pointer-events-none;
    
      left: 0;
      pointer-events: none;
      overflow: hidden;
      z-index: 2;
    }
    
    .flip-card__back-bottom,
    .flip-card__back-bottom-4digits {
      z-index: 1;
    }
    
    .flip-card__bottom:after,
    .flip-card__back-bottom:after,
    .flip-card__bottom-4digits:after,
    .flip-card__back-bottom-4digits:after {
      @apply block;
      margin-top: -0.85em;
    }
    
    .flip-card__back:before,
    .flip-card__bottom:after,
    .flip-card__back-bottom:after,
    .flip-card__back-4digits:before,
    .flip-card__bottom-4digits:after,
    .flip-card__back-bottom-4digits:after {
      content: attr(data-value);
    }
    
    .flip-card__back,
    .flip-card__back-4digits {
      @apply absolute top-0 h-full left-0 pointer-events-none;
    }
    
    .flip-card__back:before,
    .flip-card__back-4digits:before {
      @apply relative overflow-hidden;
      z-index: -1;
    }
    
    .flip .flip-card__back:before,
    .flip .flip-card__back-4digits:before {
      z-index: 1;
      animation: flipTop 0.3s cubic-bezier(0.37, 0.01, 0.94, 0.35);
      animation-fill-mode: both;
      transform-origin: center bottom;
    }
    
    .flip .flip-card__bottom,
    .flip .flip-card__bottom-4digits {
      transform-origin: center top;
      animation-fill-mode: both;
      animation: flipBottom 0.6s cubic-bezier(0.15, 0.45, 0.28, 1);
    }
    
    @keyframes flipTop {
      0% {
        transform: rotateX(0deg);
        z-index: 2;
      }
      0%,
      99% {
        opacity: 1;
      }
      100% {
        transform: rotateX(-90deg);
        opacity: 0;
      }
    }
    
    @keyframes flipBottom {
      0%,
      50% {
        z-index: -1;
        transform: rotateX(90deg);
        opacity: 0;
      }
      51% {
        opacity: 1;
      }
      100% {
        opacity: 1;
        transform: rotateX(0deg);
        z-index: 5;
      }
    }