index.css 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327
  1. @charset "UTF-8";
  2. /** css 样式重置 */
  3. @import 'modern-normalize/modern-normalize.css';
  4. #app,
  5. .ant-app,
  6. body,
  7. html {
  8. width: 100%;
  9. height: 100%;
  10. overscroll-behavior: none;
  11. }
  12. *,
  13. ::after,
  14. ::before {
  15. @apply border-border;
  16. box-sizing: border-box;
  17. border-style: solid;
  18. border-width: 0;
  19. }
  20. body.invert-mode {
  21. @apply invert;
  22. }
  23. body.grayscale-mode {
  24. @apply grayscale;
  25. }
  26. html {
  27. @apply text-foreground bg-background;
  28. font-variation-settings: normal;
  29. text-size-adjust: 100%;
  30. font-synthesis-weight: none;
  31. scroll-behavior: smooth;
  32. text-rendering: optimizelegibility;
  33. -webkit-tap-highlight-color: transparent;
  34. }
  35. a,
  36. a:active,
  37. a:hover,
  38. a:link,
  39. a:visited {
  40. color: inherit;
  41. text-decoration: none;
  42. }
  43. ::view-transition-new(root),
  44. ::view-transition-old(root) {
  45. mix-blend-mode: normal;
  46. animation: none;
  47. }
  48. ::view-transition-old(root) {
  49. z-index: 1;
  50. }
  51. ::view-transition-new(root) {
  52. z-index: 2147483646;
  53. }
  54. html.dark::view-transition-old(root) {
  55. z-index: 2147483646;
  56. }
  57. html.dark::view-transition-new(root) {
  58. z-index: 1;
  59. }
  60. input::placeholder,
  61. textarea::placeholder {
  62. opacity: 1;
  63. }
  64. input:-webkit-autofill {
  65. border: none;
  66. box-shadow: 0 0 0 1000px transparent inset;
  67. }
  68. input[type='number']::-webkit-inner-spin-button,
  69. input[type='number']::-webkit-outer-spin-button {
  70. margin: 0;
  71. appearance: none;
  72. }
  73. .slide-up-enter-active,
  74. .slide-up-leave-active {
  75. transition: 0.25s cubic-bezier(0.25, 0.8, 0.5, 1);
  76. }
  77. .slide-up-move {
  78. transition: transform 0.3s;
  79. }
  80. .slide-up-enter-from,
  81. .slide-up-leave-to {
  82. opacity: 0;
  83. transform: translateY(-15px);
  84. }
  85. .slide-down-enter-active,
  86. .slide-down-leave-active {
  87. transition: 0.25s cubic-bezier(0.25, 0.8, 0.5, 1);
  88. }
  89. .slide-down-move {
  90. transition: transform 0.3s;
  91. }
  92. .slide-down-enter-from,
  93. .slide-down-leave-to {
  94. opacity: 0;
  95. transform: translateY(15px);
  96. }
  97. .slide-left-enter-active,
  98. .slide-left-leave-active {
  99. transition: 0.25s cubic-bezier(0.25, 0.8, 0.5, 1);
  100. }
  101. .slide-left-move {
  102. transition: transform 0.3s;
  103. }
  104. .slide-left-enter-from,
  105. .slide-left-leave-to {
  106. opacity: 0;
  107. transform: translateX(-15px);
  108. }
  109. .slide-right-enter-active,
  110. .slide-right-leave-active {
  111. transition: 0.25s cubic-bezier(0.25, 0.8, 0.5, 1);
  112. }
  113. .slide-right-move {
  114. transition: transform 0.3s;
  115. }
  116. .slide-right-enter-from,
  117. .slide-right-leave-to {
  118. opacity: 0;
  119. transform: translateX(15px);
  120. }
  121. .fade-transition-enter-active,
  122. .fade-transition-leave-active {
  123. transition: opacity 0.2s ease-in-out;
  124. }
  125. .fade-transition-enter-from,
  126. .fade-transition-leave-to {
  127. opacity: 0;
  128. }
  129. .fade-enter-active,
  130. .fade-leave-active {
  131. transition: opacity 0.2s ease-in-out;
  132. }
  133. .fade-enter-from,
  134. .fade-leave-to {
  135. opacity: 0;
  136. }
  137. /* fade-slide */
  138. .fade-slide-leave-active,
  139. .fade-slide-enter-active {
  140. transition: all 0.3s;
  141. }
  142. .fade-slide-enter-from {
  143. opacity: 0;
  144. transform: translateX(-30px);
  145. }
  146. .fade-slide-leave-to {
  147. opacity: 0;
  148. transform: translateX(30px);
  149. }
  150. .fade-down-enter-active,
  151. .fade-down-leave-active {
  152. transition:
  153. opacity 0.25s,
  154. transform 0.3s;
  155. }
  156. .fade-down-enter-from {
  157. opacity: 0;
  158. transform: translateY(-10%);
  159. }
  160. .fade-down-leave-to {
  161. opacity: 0;
  162. transform: translateY(10%);
  163. }
  164. .fade-scale-leave-active,
  165. .fade-scale-enter-active {
  166. transition: all 0.28s;
  167. }
  168. .fade-scale-enter-from {
  169. opacity: 0;
  170. transform: scale(1.2);
  171. }
  172. .fade-scale-leave-to {
  173. opacity: 0;
  174. transform: scale(0.8);
  175. }
  176. .fade-up-enter-active,
  177. .fade-up-leave-active {
  178. transition:
  179. opacity 0.2s,
  180. transform 0.25s;
  181. }
  182. .fade-up-enter-from {
  183. opacity: 0;
  184. transform: translateY(10%);
  185. }
  186. .fade-up-leave-to {
  187. opacity: 0;
  188. transform: translateY(-10%);
  189. }
  190. @keyframes fade-slide {
  191. 0% {
  192. opacity: 0;
  193. transform: translateX(-30px);
  194. }
  195. 50% {
  196. opacity: 1;
  197. }
  198. 100% {
  199. opacity: 0;
  200. transform: translateX(30px);
  201. }
  202. }
  203. @keyframes fade {
  204. 0% {
  205. opacity: 0;
  206. }
  207. 50% {
  208. opacity: 1;
  209. }
  210. 100% {
  211. opacity: 0;
  212. }
  213. }
  214. @keyframes fade-up {
  215. 0% {
  216. opacity: 0;
  217. transform: translateY(10%);
  218. }
  219. 50% {
  220. opacity: 1;
  221. }
  222. 100% {
  223. opacity: 0;
  224. transform: translateY(-10%);
  225. }
  226. }
  227. @keyframes fade-down {
  228. 0% {
  229. opacity: 0;
  230. transform: translateY(-10%);
  231. }
  232. 50% {
  233. opacity: 1;
  234. }
  235. 100% {
  236. opacity: 0;
  237. transform: translateY(10%);
  238. }
  239. }
  240. .fade-slow {
  241. animation: fade 3s infinite;
  242. }
  243. .fade-slide-slow {
  244. animation: fade-slide 3s infinite;
  245. }
  246. .fade-up-slow {
  247. animation: fade-up 3s infinite;
  248. }
  249. .fade-down-slow {
  250. animation: fade-down 3s infinite;
  251. }
  252. .collapse-transition {
  253. transition:
  254. 0.2s height ease-in-out,
  255. 0.2s padding-top ease-in-out,
  256. 0.2s padding-bottom ease-in-out;
  257. }
  258. .collapse-transition-leave-active,
  259. .collapse-transition-enter-active {
  260. transition:
  261. 0.2s max-height ease-in-out,
  262. 0.2s padding-top ease-in-out,
  263. 0.2s margin-top ease-in-out;
  264. }