/**app.wxss**/ page { --primary-color: #1890ff; --danger-color: #ff4d4f; --success-color: #52c41a; --warning-color: #faad14; --text-color: #333333; --text-color-secondary: #666666; --text-color-light: #999999; --border-color: #e8e8e8; --background-color: #f8f8f8; --border-radius: 8rpx; --safe-area-bottom: env(safe-area-inset-bottom); font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica, Segoe UI, Arial, Roboto, 'PingFang SC', 'miui', 'Hiragino Sans GB', 'Microsoft Yahei', sans-serif; font-size: 28rpx; line-height: 1.5; color: var(--text-color); background-color: var(--background-color); } /* 清除默认样式 */ button { padding: 0; margin: 0; background: none; border: none; text-align: left; line-height: inherit; overflow: visible; } button::after { border: none; } /* 通用样式类 */ .container { min-height: 100vh; box-sizing: border-box; } .safe-area-bottom { padding-bottom: var(--safe-area-bottom); } .flex-center { display: flex; align-items: center; justify-content: center; } .flex-between { display: flex; align-items: center; justify-content: space-between; } .flex-column { display: flex; flex-direction: column; } .text-primary { color: var(--primary-color); } .text-danger { color: var(--danger-color); } .text-success { color: var(--success-color); } .text-warning { color: var(--warning-color); } .text-secondary { color: var(--text-color-secondary); } .text-light { color: var(--text-color-light); } .text-center { text-align: center; } .text-left { text-align: left; } .text-right { text-align: right; } .text-bold { font-weight: bold; } .text-ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .bg-white { background-color: #ffffff; } .bg-primary { background-color: var(--primary-color); } .bg-danger { background-color: var(--danger-color); } .bg-success { background-color: var(--success-color); } .bg-warning { background-color: var(--warning-color); } .shadow { box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05); } .rounded { border-radius: var(--border-radius); } .border { border: 2rpx solid var(--border-color); } .border-top { border-top: 2rpx solid var(--border-color); } .border-bottom { border-bottom: 2rpx solid var(--border-color); } /* 动画类 */ .fade-in { animation: fadeIn 0.3s ease-in-out; } .fade-out { animation: fadeOut 0.3s ease-in-out; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } } /* 间距类 */ .m-0 { margin: 0; } .m-1 { margin: 10rpx; } .m-2 { margin: 20rpx; } .m-3 { margin: 30rpx; } .m-4 { margin: 40rpx; } .mt-0 { margin-top: 0; } .mt-1 { margin-top: 10rpx; } .mt-2 { margin-top: 20rpx; } .mt-3 { margin-top: 30rpx; } .mt-4 { margin-top: 40rpx; } .mb-0 { margin-bottom: 0; } .mb-1 { margin-bottom: 10rpx; } .mb-2 { margin-bottom: 20rpx; } .mb-3 { margin-bottom: 30rpx; } .mb-4 { margin-bottom: 40rpx; } .ml-0 { margin-left: 0; } .ml-1 { margin-left: 10rpx; } .ml-2 { margin-left: 20rpx; } .ml-3 { margin-left: 30rpx; } .ml-4 { margin-left: 40rpx; } .mr-0 { margin-right: 0; } .mr-1 { margin-right: 10rpx; } .mr-2 { margin-right: 20rpx; } .mr-3 { margin-right: 30rpx; } .mr-4 { margin-right: 40rpx; } .p-0 { padding: 0; } .p-1 { padding: 10rpx; } .p-2 { padding: 20rpx; } .p-3 { padding: 30rpx; } .p-4 { padding: 40rpx; } .pt-0 { padding-top: 0; } .pt-1 { padding-top: 10rpx; } .pt-2 { padding-top: 20rpx; } .pt-3 { padding-top: 30rpx; } .pt-4 { padding-top: 40rpx; } .pb-0 { padding-bottom: 0; } .pb-1 { padding-bottom: 10rpx; } .pb-2 { padding-bottom: 20rpx; } .pb-3 { padding-bottom: 30rpx; } .pb-4 { padding-bottom: 40rpx; } .pl-0 { padding-left: 0; } .pl-1 { padding-left: 10rpx; } .pl-2 { padding-left: 20rpx; } .pl-3 { padding-left: 30rpx; } .pl-4 { padding-left: 40rpx; } .pr-0 { padding-right: 0; } .pr-1 { padding-right: 10rpx; } .pr-2 { padding-right: 20rpx; } .pr-3 { padding-right: 30rpx; } .pr-4 { padding-right: 40rpx; }