pull-to-refresh.css 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /* ===== 下拉刷新通用工具样式 ===== */
  2. html.modal-open {
  3. overflow: hidden;
  4. }
  5. html.modal-open body {
  6. overflow: hidden;
  7. touch-action: none;
  8. }
  9. /* 被绑定的容器 */
  10. .ptr-container {
  11. transition: transform 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  12. }
  13. .ptr-container.ptr-pulling {
  14. transition: none;
  15. }
  16. /* 下拉刷新指示器(由 JS 动态插入在容器前) */
  17. .ptr-indicator {
  18. position: absolute;
  19. top: 0;
  20. left: 0;
  21. right: 0;
  22. height: 56px;
  23. display: flex;
  24. align-items: center;
  25. justify-content: center;
  26. gap: 8px;
  27. transform: translateY(-100%);
  28. z-index: 100;
  29. pointer-events: none;
  30. background-color: var(--bex-page-bg, #0e0e0e);
  31. }
  32. .ptr-spinner {
  33. width: 20px;
  34. height: 20px;
  35. border: 2px solid var(--bex-border, #2c2c2c);
  36. border-top-color: var(--bex-brand, #fd6f23);
  37. border-radius: 50%;
  38. opacity: 0;
  39. transform: rotate(0deg);
  40. }
  41. .ptr-indicator.ptr-refreshing .ptr-spinner {
  42. animation: ptr-spin 0.8s linear infinite;
  43. }
  44. @keyframes ptr-spin {
  45. to {
  46. transform: rotate(360deg);
  47. }
  48. }
  49. .ptr-text {
  50. font-size: 13px;
  51. color: var(--bex-brand, #fd6f23);
  52. }
  53. /* 浅色主题 */
  54. html.theme-light .ptr-indicator {
  55. background-color: #ffffff;
  56. }
  57. html.theme-light .ptr-spinner {
  58. border-color: #e5e5e5;
  59. border-top-color: #fd6f23;
  60. }
  61. html.theme-light .ptr-text {
  62. color: #888888;
  63. }