.container { padding: 20px 15px; background-color: #f5f5f5; min-height: 100vh; } .type-selector { display: flex; justify-content: center; margin-bottom: 30px; } .type-btn { width: 120px; height: 50px; border-radius: 25px; display: flex; align-items: center; justify-content: center; margin: 0 10px; font-size: 18px; font-weight: 500; border: 2px solid #ddd; transition: all 0.3s; } .type-btn.active { border-color: #4CAF50; color: #4CAF50; } .type-btn .iconfont { margin-right: 8px; font-size: 20px; } .amount-input { display: flex; align-items: center; justify-content: center; margin-bottom: 40px; } .currency-symbol { font-size: 36px; color: #333; margin-right: 10px; } .amount-input input { font-size: 48px; text-align: left; color: #333; width: 250px; padding: 0; height: auto; } .section-title { display: block; font-size: 16px; color: #666; margin-bottom: 15px; } .category-grid { display: flex; flex-wrap: wrap; gap: 15px; margin-bottom: 30px; } .category-item { width: 70px; height: 70px; border-radius: 10px; background-color: white; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 14px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05); transition: all 0.2s; } .category-item .iconfont { font-size: 24px; margin-bottom: 5px; color: #666; } .category-item.selected { background-color: #e8f5e9; color: #4CAF50; } .category-item.selected .iconfont { color: #4CAF50; } .note-section, .date-section { margin-bottom: 30px; } .note-section input, .date-picker { width: 100%; height: 50px; background-color: white; border-radius: 10px; padding: 0 15px; font-size: 16px; box-sizing: border-box; } .date-picker { display: flex; align-items: center; color: #333; } .date-picker .iconfont { margin-right: 10px; color: #999; } .save-btn { width: 100%; height: 55px; background-color: #4CAF50; color: white; border-radius: 27.5px; font-size: 18px; font-weight: 500; line-height: 55px; margin-top: 20px; } .save-btn[disabled] { background-color: #a5d6a7; color: #e8f5e9; } /************************/ /* 触发区域样式 */ .category-trigger { margin-bottom: 30px; } .note-section, .date-section { margin-bottom: 30px; } .section-title { font-size: 34rpx; font-weight: 600; color: #333; display: block; margin-bottom: 20rpx; padding-bottom: 15rpx; border-bottom: 1px solid #f5f5f5; } .selected-value { display: flex; align-items: center; justify-content: space-between; padding: 20rpx; background-color: #f9f9f9; border-radius: 12rpx; font-size: 28rpx; color: #666; } /* 遮罩层样式 */ .category-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); z-index: 998; } /* 弹窗样式 */ .category-popup { position: fixed; bottom: 0; left: 0; right: 0; background-color: #fff; border-top-left-radius: 24rpx; border-top-right-radius: 24rpx; z-index: 999; max-height: 80vh; display: flex; flex-direction: column; } /* 弹窗头部 */ .popup-header { display: flex; align-items: center; justify-content: space-between; padding: 24rpx 30rpx; border-bottom: 1px solid #f5f5f5; } .popup-title { font-size: 32rpx; font-weight: 600; color: #333; } /* 弹窗内容区 */ .popup-content { display: flex; flex: 1; overflow: hidden; } /* 一级分类列表 */ .first-level-list { width: 35%; background-color: #f9f9f9; overflow-y: auto; } .first-level-item { display: flex; align-items: center; padding: 28rpx 20rpx; font-size: 28rpx; color: #555; border-left: 6rpx solid transparent; } .first-level-item.selected { background-color: #fff; color: #387ef5; border-left-color: #387ef5; font-weight: 500; } .first-level-item .iconfont { font-size: 36rpx; margin-right: 16rpx; width: 40rpx; text-align: center; } /* 二级分类列表 */ .second-level-list { width: 65%; padding: 20rpx; overflow-y: auto; } .no-selection { height: 100%; display: flex; align-items: center; justify-content: center; color: #999; font-size: 28rpx; } .second-level-item { display: flex; align-items: center; justify-content: space-between; padding: 22rpx 20rpx; margin-bottom: 8rpx; background-color: #f5f5f5; border-radius: 12rpx; font-size: 26rpx; color: #555; } .second-level-item.selected { background-color: #edf4ff; color: #387ef5; } .second-level-item .icon-check { font-size: 28rpx; } /* 弹窗底部 */ .popup-footer { padding: 20rpx 30rpx; border-top: 1px solid #f5f5f5; } .confirm-btn { width: 100%; padding: 20rpx 0; background-color: #387ef5; color: #fff; font-size: 30rpx; border-radius: 12rpx; line-height: normal; } .confirm-btn:disabled { background-color: #b3d1ff; color: #e6f0ff; }