* { box-sizing: border-box; } html, body, #app { height: 100%; margin: 0; padding: 0; } body { font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif; font-size: 14px; color: $text-color-primary; background-color: $bg-page; -webkit-font-smoothing: antialiased; } a { color: $color-primary; text-decoration: none; } /* 页面容器:所有业务页面根节点统一使用 */ .app-container { padding: $container-padding; } /* 工具栏:搜索栏与操作按钮之间 */ .toolbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; } /* 首屏 loading */ .app-loading { @include flex-center; height: 100%; &__spinner { width: 36px; height: 36px; border: 3px solid $border-color; border-top-color: $color-primary; border-radius: 50%; animation: app-loading-rotate 0.8s linear infinite; } } @keyframes app-loading-rotate { to { transform: rotate(360deg); } } /* 滚动条 */ ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-thumb { background-color: rgba(144, 147, 153, 0.3); border-radius: 3px; } /* 页面切换动画 */ .fade-transform-enter-active, .fade-transform-leave-active { transition: all $transition-duration; } .fade-transform-enter-from { opacity: 0; transform: translateX(-12px); } .fade-transform-leave-to { opacity: 0; transform: translateX(12px); }