index.scss 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. // Transition Property
  2. .transition-none {transition-property: none; } .transition-all {transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; } .transition {transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; } .transition-colors {transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; } .transition-opacity {transition-property: opacity; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; } .transition-shadow {transition-property: box-shadow; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; } .transition-transform {transition-property: transform; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
  3. // transitionDuration $transitionDurations: 'duration-0' '0s','duration-75' '75ms','duration-100' '100ms','duration-150' '150ms','duration-200' '200ms','duration-300' '300ms','duration-500' '500ms','duration-700' '700ms','duration-1000' '1000ms'; @each $name, $val in $transitionDurations { .#{$name} {transition-duration: #{$val};}}
  4. // transitionTimingFunction $transitionTimingFunctions: 'ease-linear' 'linear','ease-in' 'cubic-bezier(0.4, 0, 1, 1)','ease-out' 'cubic-bezier(0, 0, 0.2, 1)','ease-in-out' 'cubic-bezier(0.4, 0, 0.2, 1)'; @each $name, $val in $transitionTimingFunctions { .#{$name} {transition-timing-function: #{$val};}}
  5. // transitionDelay $transitionDelays: 'delay-0' '0s','delay-75' '75ms','delay-100' '100ms','delay-150' '150ms','delay-200' '200ms','delay-300' '300ms','delay-500' '500ms','delay-700' '700ms','delay-1000' '1000ms'; @each $name, $val in $transitionDelays { .#{$name} {transition-delay: #{$val};}}
  6. // Animation
  7. .animate-none {animation: none;}
  8. .animate-spin {animation: spin 1s linear infinite;}
  9. @keyframes spin {
  10. from {
  11. transform: rotate(0deg);
  12. }
  13. to {
  14. transform: rotate(360deg);
  15. }
  16. }
  17. .animate-ping {animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;}
  18. @keyframes ping {
  19. 75%, 100% {
  20. transform: scale(2);
  21. opacity: 0;
  22. }
  23. }
  24. .animate-pulse {animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;}
  25. @keyframes pulse {
  26. 0%, 100% {
  27. opacity: 1;
  28. }
  29. 50% {
  30. opacity: .5;
  31. }
  32. }
  33. .animate-bounce {animation: bounce 1s infinite;}
  34. @keyframes bounce {
  35. 0%, 100% {
  36. transform: translateY(-25%);
  37. animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  38. }
  39. 50% {
  40. transform: translateY(0);
  41. animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  42. }
  43. }