/**index.wxss**/ /* 防止横向滚动 */ page { width: 100%; overflow-x: hidden; box-sizing: border-box; } /* 动态背景样式 */ .bg { position: fixed; top: 0; left: 0; width: 100%; height: 100%; filter: blur(120px); z-index: -1; } .ball { position: absolute; border-radius: 50%; } .ball-1 { width: 400rpx; height: 400rpx; background-color: #4472c4; animation: move-1 5s infinite; } .ball-2 { width: 500rpx; height: 500rpx; background-color: #00b050; animation: move-2 5s infinite; } @keyframes move-1 { 0% { transform: translate(0, 0); } 25% { transform: translate(200rpx, 150rpx); } 50% { transform: translate(0, 300rpx); } 75% { transform: translate(-100rpx, 150rpx); } 100% { transform: translate(0, 0); } } @keyframes move-2 { 0% { transform: translate(0, 0); } 25% { transform: translate(-200rpx, -180rpx); } 50% { transform: translate(0, -320rpx); } 75% { transform: translate(100rpx, -180rpx); } 100% { transform: translate(0, 0); } } /* 全局移除按钮边框 */ button { border: none !important; outline: none !important; } button::after { border: none !important; } button::before { border: none !important; } .container-custom { position: relative; width: 100%; max-width: 100vw; overflow-x: hidden; box-sizing: border-box; padding: 20rpx; } .text-view{ width: 100%; margin-bottom: 20rpx; text-align: center; box-sizing: border-box; } .text-area{ width: 100%; max-width: 100%; padding: 20rpx; text-align: left; box-sizing: border-box; display: block; border: none; border-radius: 16rpx; background-color: #fafafa; font-size: 32rpx; line-height: 1.5; transition: all 0.3s ease; box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.08); } .text-area:focus { background-color: #ffffff; box-shadow: 0 4rpx 20rpx rgba(0, 122, 255, 0.15); } .button-view{ width: 100%; margin-bottom: 40rpx; text-align: center; box-sizing: border-box; } /* 主要按钮样式 */ .button-view button{ width: 100%; max-width: 100%; display: block; margin-bottom: 20rpx; height: 88rpx; line-height: 88rpx; font-size: 32rpx; text-align: center; border-radius: 44rpx; border: none !important; font-weight: 600; letter-spacing: 2rpx; transition: all 0.3s ease; position: relative; overflow: hidden; box-sizing: border-box; } .button-view button::after { border: none !important; } .button-view button::before { border: none !important; } /* 播放按钮 - 主要操作 */ .button-view button[bindtap="play"] { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; box-shadow: 0 8rpx 24rpx rgba(102, 126, 234, 0.4), inset 0 2rpx 0 rgba(255, 255, 255, 0.2); } .button-view button[bindtap="play"]:active { transform: translateY(2rpx); box-shadow: 0 4rpx 12rpx rgba(102, 126, 234, 0.4); } /* 下载按钮 - 次要操作 */ .goto-audio-list { background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); color: white; box-shadow: 0 8rpx 24rpx rgba(240, 147, 251, 0.4), inset 0 2rpx 0 rgba(255, 255, 255, 0.2); } .goto-audio-list:active { transform: translateY(2rpx); box-shadow: 0 4rpx 12rpx rgba(240, 147, 251, 0.4); } /* 清空按钮 - 辅助操作 */ .button-view button[bindtap="clear"] { background: linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%); color: #8b4513; box-shadow: 0 8rpx 24rpx rgba(252, 182, 159, 0.4), inset 0 2rpx 0 rgba(255, 255, 255, 0.3); } .button-view button[bindtap="clear"]:active { transform: translateY(2rpx); box-shadow: 0 4rpx 12rpx rgba(252, 182, 159, 0.4); } /* 语音类型选择区域 */ .type-view{ width: 100%; max-width: 100%; margin: 0 0 40rpx 0; padding: 20rpx; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.95) 100%); border-radius: 20rpx; box-shadow: 0 6rpx 24rpx rgba(0, 0, 0, 0.08); backdrop-filter: blur(10rpx); box-sizing: border-box; } .type-view button{ width: 100%; max-width: 100%; height: 60rpx; margin-bottom: 16rpx; padding: 0 20rpx; writing-mode: horizontal-tb; text-align: center; letter-spacing: 1rpx; font-size: 28rpx; font-weight: 500; border-radius: 30rpx; border: none !important; transition: all 0.3s ease; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; white-space: nowrap; box-sizing: border-box; } .type-view button::after { border: none !important; } .type-view button::before { border: none !important; } .type-view button:last-child { margin-bottom: 0; } /* 未选中的语音类型按钮 */ .type-view button[type="default"] { background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%); color: #495057; box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1), inset 0 1rpx 0 rgba(255, 255, 255, 0.8); } .type-view button[type="default"]:active { background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); transform: translateY(2rpx); box-shadow: 0 2rpx 6rpx rgba(0, 0, 0, 0.15), inset 0 1rpx 0 rgba(255, 255, 255, 0.6); } /* 选中的语音类型按钮 */ .type-view button[type="primary"] { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; box-shadow: 0 6rpx 20rpx rgba(102, 126, 234, 0.4), inset 0 1rpx 0 rgba(255, 255, 255, 0.2); transform: scale(1.02); } .type-view button[type="primary"]:active { transform: scale(1.02) translateY(2rpx); box-shadow: 0 4rpx 16rpx rgba(102, 126, 234, 0.5), inset 0 1rpx 0 rgba(255, 255, 255, 0.1); } /* 按钮悬浮效果动画 */ .button-view button::before, .type-view button::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); transition: left 0.5s; } .button-view button:active::before, .type-view button:active::before { left: 100%; } .ad-1{ margin-bottom: 20rpx; }