.container { height: 100vh; width: 100% !important; display: flex; flex-direction: column; position: relative; background: #F5F7FA; overflow: hidden; touch-action: none; padding: 0; box-sizing: border-box; } /* 材料区域样式优化 */ .material-section { position: relative; width: auto; margin: 10px; background: #fff; border-radius: 6px; border: 1px solid #eee; will-change: height; transform: translateZ(0); -webkit-transform: translateZ(0); } /* 拖动手柄样式优化 */ .resize-handle { position: absolute; bottom: -12rpx; left: 0; right: 0; height: 24rpx; display: flex; justify-content: center; align-items: center; background: #fff; z-index: 10; touch-action: none; cursor: ns-resize; } /* 拖动时的状态 */ .material-section.resizing { transition: none !important; } .resize-area { width: 200rpx; height: 100%; display: flex; justify-content: center; align-items: center; } .resize-line { width: 60rpx; height: 4rpx; background: #D8D8D8; border-radius: 2rpx; position: relative; } /* .resize-dots { position: absolute; top: -12rpx; left: 50%; transform: translateX(-50%); width: 32rpx; height: 32rpx; background: radial-gradient(circle, #999 3rpx, transparent 3rpx) 0 0 / 8rpx 8rpx; opacity: 0.5; } */ .material-title { padding: 20rpx 30rpx; font-size: 28rpx; color: #666; border-bottom: 1rpx solid #eee; } /* 调整材料内容区域 */ .material-swiper { height: calc(100% - 40rpx); z-index: 1; } /* 内容区域优化 */ .material-content { height: 100%; padding: 20rpx 30rpx; width: 92%; transform: translateZ(0); -webkit-overflow-scrolling: touch; overscroll-behavior: none; touch-action: pan-y; } .material-text { font-size: 28rpx; line-height: 1.6; color: #333; word-wrap: break-word; } /* 富文本中的段落样式 */ .material-text p { display: inline; margin: 0; padding: 0; } /* 富文本中的图片样式 */ .material-text img { display: inline-block !important; vertical-align: middle !important; max-height: 40rpx !important; width: auto !important; margin: 0 4rpx !important; } /* 如果需要某些图片单独成行显示 */ .material-text img.block { display: block !important; max-height: none !important; max-width: 100% !important; margin: 20rpx 0 !important; } /* 修改富文本中图片的样式 */ .material-text rich-text { width: 100%; display: inline; } /* 富文本图片样式 */ .rich-text-img { max-width: 100%; height: auto; vertical-align: middle; /* 确保图片与文字垂直对齐 */ display: inline-block; /* 改为内联块级显示 */ margin: 0 4rpx; /* 添加少许左右间距 */ } /* 当图片需要单独占一行时的样式 */ .rich-text-img.block { display: block; margin: 20rpx 0; } .material-index { position: absolute; bottom: 10rpx; right: 40rpx; font-size: 24rpx; color: #999; } /* 材料指示点 */ .material-dots { display: flex; justify-content: center; align-items: center; height: 40rpx; margin-top: 10rpx; } .dot { width: 12rpx; height: 12rpx; border-radius: 50%; background: #ddd; margin: 0 8rpx; } .dot.active { background: #007aff; transform: scale(1.2); } .question-container { background: #fff; border-radius: 12rpx; margin: 0 20rpx; padding: 30rpx; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05); width: calc(100% - 40rpx); box-sizing: border-box; } .question-header { margin-bottom: 20rpx; /* 减小底部间距 */ } .question-type { color: #666; font-size: 30rpx; } /* 当没有材料时的样式 */ .question-content.no-material { height: calc(100vh - 120rpx); /* 只减去底部工具栏高度 */ } /* 当有答案解析时的样式 */ .question-content.has-explanation { padding-bottom: 15rpx; padding-top: 15rpx; } /* 修改选项列表样式 */ .options-list { margin-top: 30rpx; width: 100%; } /* 富文本通用样式 */ rich-text { width: 100%; display: inline; } /* 富文本内容样式覆盖 */ rich-text .p { display: inline; /* 改为内联显示 */ margin: 0; /* 移除默认边距 */ padding: 0; } rich-text .img { display: inline-block; /* 改为内联块级显示 */ vertical-align: middle; /* 垂直居中对齐 */ max-height: 32rpx; /* 限制图片高度与文字行高相近 */ width: auto; /* 宽度自适应 */ margin: 0 4rpx; /* 添加少许左右间距 */ } /* 如果图片需要单独成行显示时的样式 */ rich-text .img.block { display: block; max-height: none; max-width: 100%; margin: 20rpx 0; } rich-text .strong, rich-text .b { font-weight: bold; } rich-text .em, rich-text .i { font-style: italic; } rich-text .u { text-decoration: underline; } /* 选项基础样式 */ .option-item { margin: 20rpx 0; display: flex; align-items: center; padding: 24rpx 30rpx; background: #fff; border-radius: 8rpx; border: 2rpx solid #E5E5E5; position: relative; box-sizing: border-box; width: 100%; transition: all 0.2s ease; /* 添加过渡效果 */ } /* 选中状态样式 */ .option-selected { background-color: #E3F0FF !important; border-color: #1A7CFF !important; } .option-selected .option-letter, .option-selected .option-text, .option-selected .separator { color: #1A7CFF !important; } /* 选项内容样式 */ .option-content { flex: 1; display: flex; align-items: center; } .option-letter { font-size: 32rpx; color: #333; font-weight: 500; min-width: 40rpx; } .option-text { flex: 1; font-size: 32rpx; color: #333; margin-left: 20rpx; } .separator { color: #E5E5E5; margin: 0 20rpx; } /* 添加底部按钮固定样式 */ .footer { position: fixed; bottom: 0; left: 0; right: 0; background: #fff; box-shadow: 0 -2rpx 10rpx rgba(0, 0, 0, 0.05); padding-bottom: constant(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom); z-index: 100; } .footer-content { height: 100rpx; display: flex; justify-content: space-between; /* 左右两侧分布 */ align-items: center; padding: 0 30rpx; width: 100%; box-sizing: border-box; } .timer { font-size: 32rpx; color: #333; font-weight: 500; } .question-card-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 120rpx; /* 确保有足够的宽度 */ } .card-icon { width: 48rpx; /* 增大图标尺寸 */ height: 48rpx; margin-bottom: 8rpx; } .card-text { font-size: 24rpx; color: #333; white-space: nowrap; /* 防止文字换行 */ } /* 试卷信息 */ .paper-info { background: #fff; padding: 30rpx; border-bottom: 1rpx solid #eee; } .paper-title { font-size: 32rpx; font-weight: bold; color: #333; margin-bottom: 10rpx; } .paper-meta { display: flex; font-size: 24rpx; color: #999; } .question-count { margin-right: 20rpx; } /* 材料区域样式 */ .material-section { background: #fff; height: 400rpx; position: relative; padding: 20rpx 0; } .material-subtitle { font-size: 26rpx; font-weight: bold; color: #666; margin-bottom: 10rpx; } .material-text { font-size: 26rpx; color: #333; line-height: 1.6; padding-bottom: 40rpx; } .material-image-wrapper { width: 100%; margin: 20rpx 0; } .material-image { width: 100%; border-radius: 8rpx; } /* 题目区域样式 */ .question-scroll { flex: 1; overflow: hidden; overflow-y: auto; background: #ececec; height: calc(100vh - 120rpx); /* 调整高度 */ padding-bottom: 160rpx; } .question-scroll.no-material { /* height: calc(100vh - 200rpx - 120rpx); */ } /* 底部按钮区域 */ .footer { position: fixed; bottom: 0; left: 0; right: 0; background: #fff; padding: 20rpx 30rpx; box-shadow: 0 -2rpx 10rpx rgba(0, 0, 0, 0.05); } .button-container { display: flex; justify-content: space-between; padding: 0; } .prev-button, .next-button, .submit-button { width: 45%; border-radius: 44rpx; font-size: 32rpx; } .prev-button { background: #f5f5f5; color: #666; } .next-button { background: #007aff; color: #fff; } .submit-button { background: #ff6b6b; color: #fff; } .prev-button[disabled], .next-button[disabled], .submit-button[disabled] { opacity: 0.5; } /* 适配 iPhone X 等机型 */ @supports (padding-bottom: constant(safe-area-inset-bottom)) { .footer { padding-bottom: calc(20rpx + constant(safe-area-inset-bottom)); } } @supports (padding-bottom: env(safe-area-inset-bottom)) { .footer { padding-bottom: calc(20rpx + env(safe-area-inset-bottom)); } } /* 底部占位区域,确保可以滚动到底部 */ .bottom-space { height: 140rpx; /* 与按钮区域高度相近 */ width: 100%; } /* 试题详情:背景层资料 + 前置问题面板(可上下滑动) */ .detail-wrap { position: relative; width: 100%; height: 100%; overflow: hidden; } /* 背景层:资料标题固定 + 下方内容可滚动 */ .layer-back { position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 0; background: #fff; display: flex; flex-direction: column; } /* 资料标题固定不随内容滚动;单条「资料」,多条「资料一」「资料二」 */ .material-title-fixed { flex-shrink: 0; padding: 24rpx 28rpx 16rpx; background: #fff; border-bottom: 1rpx solid #f0f0f0; } .material-title-fixed .section-title { font-size: 32rpx; font-weight: bold; color: #333; display: block; } .material-title-fixed .section-title-underline { width: 48rpx; height: 6rpx; background: #e74c3c; margin-top: 8rpx; border-radius: 2rpx; } /* 多条资料时展示所有 tab(资料一、资料二…) */ .material-tabs { width: 100%; padding: 8rpx 0 12rpx; } .material-tabs-scroll { width: 100%; white-space: nowrap; } .material-tabs-inner { display: inline-flex; flex-wrap: nowrap; gap: 16rpx; padding: 0 28rpx; } .material-tab { display: inline-flex; flex-direction: column; align-items: center; padding: 12rpx 24rpx 8rpx; font-size: 28rpx; color: #666; flex-shrink: 0; } .material-tab.active { color: #333; font-weight: 500; } .material-tab.active .material-tab-underline { display: block; } .material-tab-underline { display: none; width: 48rpx; height: 6rpx; background: #e74c3c; margin-top: 8rpx; border-radius: 2rpx; } .material-scroll-below-title { flex: 1; min-height: 0; width: 100%; background: #fff; } .material-placeholder { height: 600rpx; width: 100%; } /* 前置层:问题面板,可上下滑动;area 不拦截触摸,仅面板拦截,这样露出的资料区可上下滑动 */ .movable-area { position: absolute; left: 0; top: 0; right: 0; z-index: 1; width: 100%; pointer-events: none; } .movable-panel.question-panel-wrap { width: 100%; background: #fff; border-radius: 24rpx 24rpx 0 0; box-shadow: 0 -4rpx 24rpx rgba(0,0,0,0.08); overflow: hidden; display: flex; flex-direction: column; pointer-events: auto; } /* 问题面板顶部拖拽条:提示可上下滑动,增大可拖区域 */ .panel-drag-handle { width: 100%; height: 56rpx; display: flex; align-items: center; justify-content: center; flex-shrink: 0; background: #fff; padding: 12rpx 0; } .panel-drag-bar { width: 80rpx; height: 8rpx; background: #d0d0d0; border-radius: 4rpx; } /* 通用滚动区(背景层内) */ .detail-scroll { width: 100%; height: 100%; background: #fff; } /* 区块通用 */ .section { background: #fff; padding: 0 28rpx 32rpx; margin-bottom: 8rpx; } /* 资料区块 */ .section-material { padding-top: 24rpx; } .material-label-bar { margin-bottom: 16rpx; } .material-label-text { font-size: 26rpx; color: #666; font-weight: 500; } /* 区块标题:资料 / 问题,加红色下划线 */ .section-head { margin-bottom: 20rpx; } .section-title { font-size: 32rpx; font-weight: bold; color: #333; display: block; } .section-title-underline { width: 48rpx; height: 6rpx; background: #e74c3c; margin-top: 8rpx; border-radius: 2rpx; } /* 资料内容:左右滑动切换材料一/二/三;给足高度以便资料展示全,超出部分由外层 scroll-view 滚动 */ .material-content-swiper { min-height: 800rpx; width: 100%; } .content-swiper-item { width: 100%; min-height: 800rpx; } .material-body { padding: 8rpx 0 40rpx; min-height: 760rpx; } .material-rich { font-size: 28rpx; color: #333; line-height: 1.7; } /* 问题区块:占满面板剩余空间,题目内容可滚动展示全 */ .section-question { padding-top: 16rpx; flex: 1; min-height: 0; display: flex; flex-direction: column; } .question-content-swiper { flex: 1; min-height: 60vh; width: 100%; height: 0; } .question-body { padding: 8rpx 0 24rpx; height: 100%; min-height: 280rpx; box-sizing: border-box; } .detail-bottom-space { height: 120rpx; width: 100%; } /* 题目滑动容器(保留兼容) */ .question-swiper { flex: 1; height: calc(100vh - 120rpx); /* 减去底部工具栏高度 */ z-index: 1; padding-top: 10rpx; width: 100%; } /* 确保题目页垂直布局占满剩余空间,避免被遮挡 */ .question-page { display: flex; flex-direction: column; min-height: calc(100vh - 120rpx); } /* 题目滚动容器占满剩余空间 */ .question-content { flex: 1; } /* 底部工具栏:固定盖在问题面板上的另一层,不占布局空间,无明显分割线 */ .toolbar { position: fixed; bottom: 0; left: 0; right: 0; height: 120rpx; background: rgba(255, 255, 255, 0.98); display: flex; align-items: center; justify-content: space-between; padding: 0 40rpx; z-index: 100; } .timer-container { display: flex; align-items: center; gap: 16rpx; /* 增加间距 */ } .pause-icon { width: 40rpx; /* 增加图标大小 */ height: 40rpx; } .timer { font-size: 32rpx; /* 增加字体大小 */ color: #333; font-weight: 500; /* 加粗 */ } .question-card-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 120rpx; /* 确保有足够的宽度 */ } .card-icon { width: 48rpx; /* 增大图标尺寸 */ height: 48rpx; margin-bottom: 8rpx; } .card-text { font-size: 24rpx; color: #333; white-space: nowrap; /* 防止文字换行 */ } /* 答题卡弹窗样式优化 */ .question-card-popup { position: fixed; left: 0; right: 0; bottom: 0; top: 0; z-index: 1000; visibility: hidden; } .question-card-popup.show { visibility: visible; } .popup-mask { position: absolute; left: 0; right: 0; top: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); } .popup-content { position: absolute; left: 0; right: 0; bottom: 0; background: #fff; border-radius: 24rpx 24rpx 0 0; transform: translateY(100%); transition: transform 0.3s ease-out; } .question-card-popup.show .popup-content { transform: translateY(0); } .popup-header { padding: 32rpx; border-bottom: 1rpx solid #eee; display: flex; justify-content: space-between; align-items: center; } .popup-header text { font-size: 32rpx; font-weight: 500; color: #333; } .close-btn { padding: 8rpx; font-size: 40rpx; color: #999; line-height: 1; } .question-status { padding: 24rpx 32rpx; border-bottom: 1rpx solid #eee; display: flex; flex-direction: row; align-items: center; } .status-item { display: flex; align-items: center; margin-right: 40rpx; } .status-item text { font-size: 28rpx; color: #666; } .status-dot { width: 24rpx; height: 24rpx; border-radius: 50%; background: #eee; margin-right: 12rpx; } .status-dot.answered { background: #1A7CFF; } .numbers-grid { flex: 1; overflow-y: auto; padding: 20rpx 32rpx; -webkit-overflow-scrolling: touch; width: 100%; box-sizing: border-box; /* 确保padding计入宽度 */ } .grid-container { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12rpx; padding: 24rpx; justify-items: center; } .number-item { width: 80rpx; height: 80rpx; border-radius: 50%; /* 圆形 */ background: #F5F5F5; /* 未答题背景色 */ display: flex; align-items: center; justify-content: center; margin: 12rpx; transition: all 0.3s ease; } .number-item text { font-size: 28rpx; color: #666; /* 未答题文字颜色 */ } /* 已答题状态 */ .number-item.answered { background: #E3F0FF; border: 2rpx solid #1A7CFF; } .number-item.answered text { color: #1A7CFF; font-weight: 500; } /* 当前题目状态 */ .number-item.current { background: #1A7CFF; border: 2rpx solid #1A7CFF; } .number-item.current text { color: #FFFFFF; font-weight: 500; } .submit-btn { margin: 32rpx; margin-top: 16rpx; height: 88rpx; background: #1A7CFF; color: #fff; border-radius: 44rpx; display: flex; align-items: center; justify-content: center; font-size: 32rpx; font-weight: 500; } .submit-btn:active { opacity: 0.8; } /* 自定义加载动画样式 */ .loading-container { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: #fff; display: flex; align-items: center; justify-content: center; z-index: 9999; } .loading-content { display: flex; flex-direction: column; align-items: center; gap: 20rpx; } .loading-spinner { width: 80rpx; height: 80rpx; position: relative; } .spinner-circle { width: 100%; height: 100%; border: 6rpx solid #f3f3f3; border-top: 6rpx solid #1A7CFF; border-radius: 50%; animation: spin 1s linear infinite; } .loading-text { font-size: 28rpx; color: #666; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* 拖动时的状态 */ .resizing .material-section { transition: none !important; } /* 添加 mp-html 相关样式 */ .mp-html { font-size: 28rpx; line-height: 1.6; color: #333; } /* 暂停遮罩层样式已移至组件 /components/pause-mask/index.wxss */ .pause-title { font-size: 40rpx; font-weight: bold; color: #333; margin-bottom: 20rpx; } .pause-time { font-size: 60rpx; color: #1A7CFF; margin-bottom: 40rpx; font-family: monospace; } .pause-tip { font-size: 28rpx; color: #666; } /* 状态指示点样式 */ .question-status { padding: 24rpx 32rpx; display: flex; gap: 40rpx; } .status-item { display: flex; align-items: center; gap: 12rpx; } .status-dot { width: 24rpx; height: 24rpx; border-radius: 50%; background: #F5F5F5; /* 未答题 */ } .status-dot.answered { background: #E3F0FF; border: 2rpx solid #1A7CFF; } .status-dot.current { background: #1A7CFF; } .status-item text { font-size: 28rpx; color: #666; } /* 答案解析样式 */ .explanation-section { margin: 30rpx 20rpx; padding: 20rpx; background: #f8f8f8; border-radius: 8rpx; border-left: 6rpx solid #3f7ee8; } .explanation-title { font-size: 28rpx; color: #333; font-weight: bold; margin-bottom: 16rpx; } .explanation-content { font-size: 26rpx; color: #666; line-height: 1.6; } /* 用户选择的选项样式 */ .option-item.user-selected { background: #FFF3F3; border: 2rpx solid #FF4D4F; } .option-item.user-selected .option-letter, .option-item.user-selected .option-text, .option-item.user-selected .separator { color: #FF4D4F; } /* 答案解析样式优化 */ /* .answer-analysis { margin-top: 30rpx; margin-bottom: 20rpx; background: #FFFFFF; border-radius: 12rpx; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05); } .analysis-header { padding: 24rpx; border-bottom: 1rpx solid #F0F0F0; display: flex; justify-content: space-between; align-items: center; } .analysis-title { font-size: 30rpx; font-weight: 500; color: #333333; } .correct-answer { font-size: 28rpx; color: #52C41A; } .analysis-content { padding: 24rpx; font-size: 28rpx; color: #666666; line-height: 1.6; } */ /* 底部留白区域 */ .bottom-spacing { display: none; } /* 移除蒙板相关样式 */ .mask { display: none; } /* 移除选项点击相关样式 */ .option-item { pointer-events: auto; /* 恢复点击事件 */ } /* 移除选中状态相关样式 */ .option-item.selected { background: none; } /* 滚动优化 */ ::-webkit-scrollbar { width: 0; height: 0; color: transparent; } /* 修改为具体的选择器 */ .material-section, .material-content, .material-title, .material-text, .resize-handle, .resize-line, .resize-dots { user-select: none; -webkit-user-select: none; } .material-section-wrapper { margin: 24rpx 20rpx 0 20rpx; border-radius: 12rpx 12rpx 0 0; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05); overflow: hidden; background: #fff; position: relative; will-change: height; transform: translateZ(0); -webkit-transform: translateZ(0); } /* 拖动时移除过渡效果 */ .material-section-wrapper.resizing { transition: none !important; } /* 非拖动状态添加平滑过渡 */ .material-section-wrapper:not(.resizing) { transition: height 0.3s ease-out; } .resize-handle-out { height: 44rpx; display: flex; align-items: center; justify-content: center; background: #fff; margin: 0 20rpx; border-radius: 0 0 12rpx 12rpx; position: relative; z-index: 100; touch-action: none; will-change: transform; transform: translateZ(0); -webkit-transform: translateZ(0); } .resize-line { width: 60rpx; height: 6rpx; background: #1A7CFF; border-radius: 3rpx; position: relative; } /* 拖动时的视觉反馈 */ .resize-handle-out.resizing .resize-line { background: #0052cc; transform: scaleY(1.5); } .material-section-margin { margin: 24rpx 20rpx 24rpx 20rpx; } /* 新增:材料内容底部内边距 */ .material-content-bottom-padding { padding-bottom: 32rpx; } /* 新增:外部拖动手柄样式 */ .camp-resize-handle-out { width: 100%; height: 48rpx; display: flex; align-items: center; justify-content: center; background: transparent; z-index: 100; cursor: ns-resize; position: relative; touch-action: none; } .camp-resize-handle { width: 120rpx; height: 16rpx; background: #e0e0e0; border-radius: 8rpx; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.08); margin: 0 auto; } .resize-line { width: 60rpx; height: 6rpx; background: #bbb; border-radius: 3rpx; } .custom-modal-mask { position: fixed; left: 0; right: 0; top: 0; bottom: 0; background: rgba(0,0,0,0.4); z-index: 9999; display: flex; align-items: center; justify-content: center; } .custom-modal { background: #fff; border-radius: 16rpx; width: 540rpx; padding: 40rpx 32rpx 32rpx 32rpx; box-shadow: 0 8rpx 32rpx rgba(0,0,0,0.12); display: flex; flex-direction: column; align-items: center; } .custom-modal-title { font-size: 32rpx; font-weight: bold; margin-bottom: 24rpx; color: #333; } .custom-modal-content { font-size: 28rpx; color: #666; margin-bottom: 32rpx; text-align: center; } .custom-modal-actions { display: flex; width: 100%; justify-content: space-between; gap: 32rpx; } .custom-modal-btn { flex: 1; /* height: 80rpx; */ border-radius: 8rpx; font-size: 28rpx; border: none; } .custom-modal-btn.cancel { background: #f5f5f5; color: #666; } .custom-modal-btn.confirm { background: #1A7CFF; color: #fff; } /* ========== 结果模式样式 ========== */ .result-overview { min-height: 100vh; background: #F5F7FA; position: relative; } /* 确保加载状态在预览页面中正确显示 */ .result-overview .loading-container { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(245, 247, 250, 0.9); } /* 成绩展示区域 */ .score-section { display: flex; flex-direction: column; align-items: center; padding: 40rpx 0; background: #fff; border-radius: 12rpx; margin: 20rpx; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05); } .score-main { font-size: 48rpx; font-weight: bold; color: #333; margin-bottom: 10rpx; } .score-desc { font-size: 28rpx; color: #666; } .qualified { color: #4CAF50; } .unqualified { color: #FF5722; } /* 统计区域 */ .stats-section { background: #FFFFFF; border-radius: 16rpx; padding: 30rpx; display: flex; justify-content: space-around; align-items: center; margin: 20rpx; } .stats-item { display: flex; flex-direction: column; align-items: center; } .stats-value { font-size: 36rpx; color: #333333; font-weight: 500; margin-bottom: 8rpx; } .stats-label { font-size: 24rpx; color: #999999; } .stats-divider { width: 2rpx; height: 60rpx; background: #EEEEEE; } /* 题目列表区域 */ .questions-list { background: #FFFFFF; border-radius: 16rpx; padding: 30rpx; margin: 20rpx; } .list-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30rpx; } .header-title { font-size: 32rpx; color: #333333; font-weight: 500; } .question-items { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20rpx; } .question-item { display: flex; flex-direction: column; align-items: center; width: 100%; box-sizing: border-box; } /* 修改图例样式 */ .status-legend { display: flex; align-items: center; gap: 20rpx; } .legend-item { display: flex; align-items: center; gap: 8rpx; } .legend-circle { width: 32rpx; height: 32rpx; border-radius: 50%; border: 2rpx solid transparent; position: relative; } /* 正确图例 */ .legend-circle.correct { border: 2rpx solid #52C41A; background: #fff; } /* 错误图例 */ .legend-circle.wrong { border: 2rpx solid #FF4D4F; background: #fff; } /* 未答图例 */ .legend-circle.unanswered { border: 2rpx solid #D9D9D9; background: #fff; } .legend-item text { font-size: 24rpx; color: #666666; } /* 题号空心圆+圆弧 */ .circle-index { position: relative; width: 72rpx; height: 72rpx; display: flex; align-items: center; justify-content: center; margin: 0 auto; } .circle-bg { position: absolute; width: 72rpx; height: 72rpx; border-radius: 50%; border: 2rpx solid #D9D9D9; background: #fff; z-index: 1; } .circle-arc { position: absolute; width: 72rpx; height: 72rpx; border-radius: 50%; border: 4rpx solid #D9D9D9; z-index: 2; } /* 正确答案的边框样式 - 完整的绿色圆 */ .arc-correct { border-color: #52C41A !important; } /* 错误答案的边框样式 - 完整的红色圆 */ .arc-wrong { border-color: #FF4D4F !important; } /* 未答题的边框样式 - 完整的灰色圆 */ .arc-unanswered { border-color: #D9D9D9 !important; } .circle-text { position: relative; z-index: 3; font-size: 28rpx; color: #333; font-weight: 500; text-align: center; width: 100%; line-height: 72rpx; } /* 底部按钮组 */ .bottom-btns { position: fixed; bottom: 0; left: 0; right: 0; padding: 20rpx 30rpx; padding-bottom: calc(20rpx + env(safe-area-inset-bottom)); background: #fff; box-shadow: 0 -2rpx 10rpx rgba(0, 0, 0, 0.05); display: flex; justify-content: space-between; gap: 20rpx; z-index: 100; } .btn-outline, .btn-blue { flex: 1; text-align: center; border-radius: 44rpx; font-size: 32rpx; font-weight: 500; } .btn-outline { background: #fff; color: #333; border: 2rpx solid #ddd; } .btn-blue { background: #007AFF; color: #fff; } /* Add padding to the bottom of the content to prevent overlap with fixed buttons */ .result-overview { padding-bottom: calc(128rpx + env(safe-area-inset-bottom)); width: 100%; }