.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); } /* 拖动时禁用过渡效果 */ .material-section.resizing { transition: none !important; } .material-title { padding: 20rpx 30rpx; font-size: 28rpx; color: #666; border-bottom: 1rpx solid #eee; } /* 拖动手柄样式 */ .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; } .resize-line { width: 60rpx; height: 4rpx; background: #D8D8D8; border-radius: 2rpx; position: relative; } .resize-dots { position: absolute; top: -8rpx; left: 50%; transform: translateX(-50%); width: 24rpx; height: 24rpx; background: radial-gradient(circle, #999 2rpx, transparent 2rpx) 0 0 / 8rpx 8rpx; } .resizing { background: #f5f5f5; } /* 调整材料内容区域 */ .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 { box-sizing: border-box; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 20rpx; width: 100% !important; height: 100%; display: flex; flex-direction: column; min-width: 0; /* 防止 flex 子元素溢出 */ } /* 当没有材料时的样式 */ .question-content.no-material { height: calc(100vh - 67px); /* 只减去底部工具栏高度 */ } /* 修改选项列表样式 */ .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-correct { background: #F6FFF1 !important; border: 2rpx solid #52C41A !important; } /* 错误答案样式 */ .option-wrong { background: #FFF1F0 !important; border: 2rpx solid #FF4D4F !important; } /* 选项内容样式 */ .option-content { flex: 1; display: flex; align-items: center; } .option-letter { font-size: 32rpx; color: #333; font-weight: 500; min-width: 40rpx; } /* 答案图标样式 */ .answer-icon { width: 32rpx; height: 32rpx; position: absolute; right: 30rpx; top: 50%; transform: translateY(-50%); } /* 选项文字样式 */ .option-text { flex: 1; font-size: 32rpx; color: #333; margin-left: 20rpx; } /* 正确答案文字颜色 */ .option-correct .option-letter, .option-correct .option-text { color: #52C41A; } /* 错误答案文字颜色 */ .option-wrong .option-letter, .option-wrong .option-text { color: #FF4D4F; } /* 统一的选中样式 */ .option-selected { background: #E3F0FF !important; border: 2rpx solid #1A7CFF !important; } .option-selected .option-label, .option-selected .option-content, .option-selected .separator { color: #1A7CFF !important; } /* 选项标签样式 */ .option-label { font-size: 32rpx; color: #333; font-weight: 500; margin-right: 20rpx; min-width: 40rpx; text-align: center; line-height: 1; /* 设置为1,确保文字垂直居中 */ height: 32rpx; /* 设置与字体大小相同的高度 */ display: flex; align-items: center; /* 垂直居中对齐 */ justify-content: center; /* 水平居中对齐 */ } /* 分隔符样式 */ .separator { color: #E5E5E5; margin: 0 20rpx; font-weight: normal; } /* 添加底部按钮固定样式 */ .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: 136rpx; /* 与底部按钮组高度一致 */ width: 100%; } /* 题目滑动容器 */ .question-swiper { flex: 1; height: calc(100vh - 120rpx - 136rpx); /* 减去顶部和底部按钮的高度 */ width: 100% !important; box-sizing: border-box; z-index: 1; padding-top: 10rpx; } /* swiper-item 样式 */ .question-swiper swiper-item { width: 100% !important; height: 100% !important; display: flex; flex-direction: column; box-sizing: border-box; } /* 确保题目页垂直布局占满剩余空间,避免被遮挡 */ .question-page { display: flex; flex-direction: column; width: 100% !important; height: 100%; min-height: calc(100vh - 120rpx - 136rpx); padding-bottom: calc(128rpx + env(safe-area-inset-bottom)); box-sizing: border-box; min-width: 0; /* 防止 flex 子元素溢出 */ } /* 题目内容包裹器(用于组件) */ .question-content-wrapper { width: 100% !important; box-sizing: border-box; flex: 1; min-width: 0; overflow: hidden; display: flex; flex-direction: column; position: relative; } .question-content-wrapper.has-material { /* 有材料时的高度由内联样式控制 */ } .question-content-wrapper.no-material { height: calc(100vh - 120rpx - 136rpx); } /* 确保组件内部元素有宽度 */ .question-content-wrapper question-display { width: 100% !important; height: 100% !important; display: flex; flex-direction: column; box-sizing: border-box; } /* scroll-view 样式 */ .question-page scroll-view { width: 100% !important; height: 100% !important; box-sizing: border-box; flex: 1; min-width: 0; } /* 加载状态样式 */ .loading-container { position: fixed; top: 0; left: 0; right: 0; bottom: 0; display: flex; justify-content: center; align-items: center; background-color: rgba(255, 255, 255, 0.9); z-index: 999; } .loading-content { display: flex; flex-direction: column; align-items: center; justify-content: center; background: #FFFFFF; padding: 40rpx; border-radius: 16rpx; box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1); } .loading-spinner { width: 80rpx; height: 80rpx; position: relative; margin-bottom: 20rpx; } .spinner-circle { width: 100%; height: 100%; border: 6rpx solid #f0f0f0; border-top: 6rpx solid #1890ff; border-radius: 50%; animation: spin 1s linear infinite; } .loading-text { font-size: 28rpx; color: #666; margin-top: 20rpx; } @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; width: 100%; box-sizing: border-box; overflow-x: hidden; } /* 暂停遮罩层样式 */ .pause-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 1500; /* 确保高于其他内容 */ } .pause-mask.show { opacity: 1; visibility: visible; pointer-events: auto; /* 显示时恢复点击事件 */ } .pause-content { display: flex; flex-direction: column; align-items: center; text-align: center; transform: translateY(20rpx); opacity: 0; transition: all 0.3s ease; } .pause-mask.show .pause-content { transform: translateY(0); opacity: 1; } .pause-image { width: 120rpx; height: 120rpx; margin-bottom: 40rpx; } .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-label, .option-item.user-selected .option-content, .option-item.user-selected .separator { color: #FF4D4F; } /* 答案解析样式优化 */ .answer-analysis { margin: 30rpx 20rpx; padding: 20rpx; background: #f8f8f8; border-radius: 8rpx; border-left: 6rpx solid #3f7ee8; margin-bottom: 160rpx; /* 为底部按钮留出空间 */ } .analysis-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16rpx; } .analysis-title { font-size: 30rpx; font-weight: 500; color: #333333; } .correct-answer { font-size: 28rpx; color: #52C41A; font-weight: 500; } .analysis-content { padding: 20rpx; font-size: 28rpx; color: #666666; line-height: 1.6; width: 100%; box-sizing: border-box; overflow-x: hidden; } .analysis-content image { max-width: 100% !important; height: auto !important; display: block; margin: 20rpx auto; } /* 底部留白区域 */ .bottom-spacing { display: none; } /* 整体预览页面样式 */ .result-overview { min-height: 100vh; background: #F5F7FA; /* padding: 30rpx; */ position: relative; /* padding-bottom: calc(128rpx + env(safe-area-inset-bottom)); */ } /* 确保加载状态在预览页面中正确显示 */ .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-bottom: 30rpx; */ 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; } .correct-count { font-size: 28rpx; color: #52C41A; } .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; } .question-index { font-size: 28rpx; color: #666666; margin-bottom: 8rpx; transition: transform 0.2s ease; } .question-index:active { transform: scale(0.95); opacity: 0.8; } /* 可以添加一个指示当前题目的样式 */ .question-index.current { box-shadow: 0 0 0 4rpx rgba(26, 124, 255, 0.2); } .question-result { display: flex; flex-direction: column; align-items: center; } .question-result.correct { color: #52C41A; } .question-result.wrong { color: #FF4D4F; } .result-icon { width: 32rpx; height: 32rpx; margin-bottom: 4rpx; } /* 底部按钮 */ .bottom-button { position: fixed; bottom: 0; left: 0; right: 0; height: 100rpx; background: #1A7CFF; color: #FFFFFF; font-size: 32rpx; display: flex; align-items: center; justify-content: center; font-weight: 500; } /* 修改图例样式 */ .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: 2px solid #52C41A; background: #fff; } /* 错误图例 */ .legend-circle.wrong { border: 2px solid #FF4D4F; background: #fff; } /* 未答图例 */ .legend-circle.unanswered { border: 2px 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; /* height: 88rpx; line-height: 88rpx; */ 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%; } /* 确保表格不会溢出 */ .material-content table, .question-container table, .analysis-content table { max-width: 100% !important; width: auto !important; margin: 20rpx auto; border-collapse: collapse; table-layout: fixed; } /* 确保所有富文本内容中的图片都正确缩放 */ mp-html { width: 100%; box-sizing: border-box; overflow-x: hidden; } /* mp-html 中的图片样式 */ mp-html img { max-width: 100% !important; width: auto !important; height: auto !important; display: block !important; margin: 20rpx auto !important; box-sizing: border-box !important; } /* 行内图片样式 */ mp-html img.inline { display: inline-block !important; vertical-align: middle !important; max-height: 1.5em !important; width: auto !important; margin: 0 4rpx !important; } /* 图片容器样式 */ mp-html .img-container { width: 100% !important; margin: 20rpx auto !important; text-align: center !important; overflow: hidden !important; } /* 图片加载占位样式 */ mp-html .img-loading { width: 100% !important; height: 200rpx !important; background: #f5f5f5 !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 20rpx auto !important; } /* 图片加载失败样式 */ mp-html .img-error { width: 100% !important; height: 200rpx !important; background: #f5f5f5 !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 20rpx auto !important; color: #999 !important; font-size: 28rpx !important; } /* mp-html 中的表格样式 */ mp-html table { max-width: 100% !important; width: auto !important; margin: 20rpx auto !important; border-collapse: collapse !important; box-sizing: border-box !important; } mp-html td, mp-html th { padding: 10rpx !important; border: 1px solid #ddd !important; word-break: break-all !important; box-sizing: border-box !important; } /* mp-html 中的段落样式 */ mp-html p { margin: 20rpx 0 !important; line-height: 1.6 !important; box-sizing: border-box !important; width: 100% !important; } /* mp-html 中的列表样式 */ mp-html ul, mp-html ol { padding-left: 40rpx !important; margin: 20rpx 0 !important; box-sizing: border-box !important; width: 100% !important; } mp-html li { margin: 10rpx 0 !important; line-height: 1.6 !important; box-sizing: border-box !important; } /* mp-html 中的代码块样式 */ mp-html pre { max-width: 100% !important; overflow-x: auto !important; background: #f5f5f5 !important; padding: 20rpx !important; border-radius: 8rpx !important; margin: 20rpx 0 !important; box-sizing: border-box !important; } /* mp-html 中的行内元素样式 */ mp-html span, mp-html a, mp-html strong, mp-html em { word-wrap: break-word !important; word-break: break-word !important; box-sizing: border-box !important; } /* 确保所有 mp-html 中的元素都不会溢出 */ mp-html view, mp-html text, mp-html div { max-width: 100% !important; box-sizing: border-box !important; word-wrap: break-word !important; } /* 确保所有容器都不会被内容撑开 */ .material-section, .question-container, .answer-analysis { width: 100% !important; box-sizing: border-box !important; overflow-x: hidden !important; } /* ========== 双层布局样式(与答题页一致) ========== */ /* 试题详情:背景层资料 + 前置问题面板 */ .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; } .material-scroll-below-title { flex: 1; min-height: 0; width: 100%; background: #fff; } .material-placeholder { height: 600rpx; width: 100%; } /* 前置层:问题面板 */ .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; } /* 区块通用 */ .section { background: #fff; padding: 0 28rpx 32rpx; margin-bottom: 8rpx; } /* 资料区块 */ .section-material { padding-top: 24rpx; } .material-body { padding: 8rpx 0 40rpx; min-height: 760rpx; } .material-rich { font-size: 28rpx; color: #333; line-height: 1.7; } /* 区块标题 */ .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; } /* 问题区块 */ .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; } .content-swiper-item { width: 100%; min-height: 800rpx; } .question-body { padding: 8rpx 0 24rpx; height: 100%; min-height: 280rpx; box-sizing: border-box; }