duidui_mini_program/pages/camp_task_objective_questions_result/index.wxss
2026-03-27 10:41:46 +08:00

1527 lines
29 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.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;
}