| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /* ===== 下拉刷新通用工具样式 ===== */
- html.modal-open {
- overflow: hidden;
- }
- html.modal-open body {
- overflow: hidden;
- touch-action: none;
- }
- /* 被绑定的容器 */
- .ptr-container {
- transition: transform 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
- }
- .ptr-container.ptr-pulling {
- transition: none;
- }
- /* 下拉刷新指示器(由 JS 动态插入在容器前) */
- .ptr-indicator {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- height: 56px;
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 8px;
- transform: translateY(-100%);
- z-index: 100;
- pointer-events: none;
- background-color: var(--bex-page-bg, #0e0e0e);
- }
- .ptr-spinner {
- width: 20px;
- height: 20px;
- border: 2px solid var(--bex-border, #2c2c2c);
- border-top-color: var(--bex-brand, #fd6f23);
- border-radius: 50%;
- opacity: 0;
- transform: rotate(0deg);
- }
- .ptr-indicator.ptr-refreshing .ptr-spinner {
- animation: ptr-spin 0.8s linear infinite;
- }
- @keyframes ptr-spin {
- to {
- transform: rotate(360deg);
- }
- }
- .ptr-text {
- font-size: 13px;
- color: var(--bex-brand, #fd6f23);
- }
- /* 浅色主题 */
- html.theme-light .ptr-indicator {
- background-color: #ffffff;
- }
- html.theme-light .ptr-spinner {
- border-color: #e5e5e5;
- border-top-color: #fd6f23;
- }
- html.theme-light .ptr-text {
- color: #888888;
- }
|