loaders.less 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. //
  2. // Misago Loaders
  3. // --------------------------------------------------
  4. .loader {
  5. &.sk-folding-cube {
  6. margin: @loader-vertical-margin auto;
  7. width: @loader-size;
  8. height: @loader-size;
  9. position: relative;
  10. -webkit-transform: rotateZ(45deg);
  11. transform: rotateZ(45deg);
  12. }
  13. &.sk-folding-cube .sk-cube {
  14. float: left;
  15. width: 50%;
  16. height: 50%;
  17. position: relative;
  18. -webkit-transform: scale(1.1);
  19. -ms-transform: scale(1.1);
  20. transform: scale(1.1);
  21. }
  22. &.sk-folding-cube .sk-cube:before {
  23. content: '';
  24. position: absolute;
  25. top: 0;
  26. left: 0;
  27. width: 100%;
  28. height: 100%;
  29. background-color: @loader-color;
  30. -webkit-animation: sk-foldCubeAngle 2.4s infinite linear both;
  31. animation: sk-foldCubeAngle 2.4s infinite linear both;
  32. -webkit-transform-origin: 100% 100%;
  33. -ms-transform-origin: 100% 100%;
  34. transform-origin: 100% 100%;
  35. }
  36. &.sk-folding-cube .sk-cube2 {
  37. -webkit-transform: scale(1.1) rotateZ(90deg);
  38. transform: scale(1.1) rotateZ(90deg);
  39. }
  40. &.sk-folding-cube .sk-cube3 {
  41. -webkit-transform: scale(1.1) rotateZ(180deg);
  42. transform: scale(1.1) rotateZ(180deg);
  43. }
  44. &.sk-folding-cube .sk-cube4 {
  45. -webkit-transform: scale(1.1) rotateZ(270deg);
  46. transform: scale(1.1) rotateZ(270deg);
  47. }
  48. &.sk-folding-cube .sk-cube2:before {
  49. -webkit-animation-delay: 0.3s;
  50. animation-delay: 0.3s;
  51. }
  52. &.sk-folding-cube .sk-cube3:before {
  53. -webkit-animation-delay: 0.6s;
  54. animation-delay: 0.6s;
  55. }
  56. &.sk-folding-cube .sk-cube4:before {
  57. -webkit-animation-delay: 0.9s;
  58. animation-delay: 0.9s;
  59. }
  60. @-webkit-keyframes sk-foldCubeAngle {
  61. 0%, 10% {
  62. -webkit-transform: perspective(140px) rotateX(-180deg);
  63. transform: perspective(140px) rotateX(-180deg);
  64. opacity: 0;
  65. } 25%, 75% {
  66. -webkit-transform: perspective(140px) rotateX(0deg);
  67. transform: perspective(140px) rotateX(0deg);
  68. opacity: 1;
  69. } 90%, 100% {
  70. -webkit-transform: perspective(140px) rotateY(180deg);
  71. transform: perspective(140px) rotateY(180deg);
  72. opacity: 0;
  73. }
  74. }
  75. @keyframes sk-foldCubeAngle {
  76. 0%, 10% {
  77. -webkit-transform: perspective(140px) rotateX(-180deg);
  78. transform: perspective(140px) rotateX(-180deg);
  79. opacity: 0;
  80. } 25%, 75% {
  81. -webkit-transform: perspective(140px) rotateX(0deg);
  82. transform: perspective(140px) rotateX(0deg);
  83. opacity: 1;
  84. } 90%, 100% {
  85. -webkit-transform: perspective(140px) rotateY(180deg);
  86. transform: perspective(140px) rotateY(180deg);
  87. opacity: 0;
  88. }
  89. }
  90. }
  91. .loader-compact {
  92. margin: 0px auto;
  93. width: 50px;
  94. text-align: center;
  95. &>div {
  96. width: @loader-compact-height;
  97. height: @loader-compact-height;
  98. background-color: #333;
  99. border-radius: 100%;
  100. display: inline-block;
  101. -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
  102. animation: sk-bouncedelay 1.4s infinite ease-in-out both;
  103. }
  104. .bounce1 {
  105. -webkit-animation-delay: -0.32s;
  106. animation-delay: -0.32s;
  107. }
  108. .bounce2 {
  109. margin: 0px 4px;
  110. -webkit-animation-delay: -0.16s;
  111. animation-delay: -0.16s;
  112. }
  113. @-webkit-keyframes sk-bouncedelay {
  114. 0%, 80%, 100% { -webkit-transform: scale(0.5) }
  115. 40% { -webkit-transform: scale(1.0) }
  116. }
  117. @keyframes sk-bouncedelay {
  118. 0%, 80%, 100% {
  119. -webkit-transform: scale(0.5);
  120. transform: scale(0.5);
  121. } 40% {
  122. -webkit-transform: scale(1.0);
  123. transform: scale(1.0);
  124. }
  125. }
  126. }
  127. // Loading page extra styles
  128. .page-loading {
  129. .lead {
  130. margin-top: @loader-vertical-margin * -0.5;
  131. margin-bottom: @loader-vertical-margin;
  132. color: @loader-text;
  133. text-align: center;
  134. }
  135. }