130 lines
2.1 KiB
CSS
130 lines
2.1 KiB
CSS
|
|
.virtual-pdf-viewer-container {
|
||
|
|
display: flex;
|
||
|
|
flex-direction: column;
|
||
|
|
height: 100%;
|
||
|
|
background: #f5f5f5;
|
||
|
|
}
|
||
|
|
|
||
|
|
.pdf-toolbar {
|
||
|
|
display: flex;
|
||
|
|
justify-content: space-between;
|
||
|
|
align-items: center;
|
||
|
|
padding: 12px 16px;
|
||
|
|
background: white;
|
||
|
|
border-bottom: 1px solid #e8e8e8;
|
||
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
|
||
|
|
z-index: 10;
|
||
|
|
}
|
||
|
|
|
||
|
|
.pdf-content {
|
||
|
|
flex: 1;
|
||
|
|
overflow: auto;
|
||
|
|
position: relative;
|
||
|
|
}
|
||
|
|
|
||
|
|
.pdf-virtual-list {
|
||
|
|
background: #f5f5f5;
|
||
|
|
}
|
||
|
|
|
||
|
|
.pdf-page-wrapper {
|
||
|
|
display: flex;
|
||
|
|
flex-direction: column;
|
||
|
|
align-items: center;
|
||
|
|
padding: 20px;
|
||
|
|
background: #f5f5f5;
|
||
|
|
}
|
||
|
|
|
||
|
|
.pdf-page-wrapper canvas {
|
||
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
||
|
|
background: white;
|
||
|
|
margin-bottom: 8px;
|
||
|
|
}
|
||
|
|
|
||
|
|
.pdf-page-number {
|
||
|
|
margin-top: 8px;
|
||
|
|
font-size: 13px;
|
||
|
|
color: #000;
|
||
|
|
font-weight: 600;
|
||
|
|
text-align: center;
|
||
|
|
}
|
||
|
|
|
||
|
|
.pdf-page-loading {
|
||
|
|
display: flex;
|
||
|
|
flex-direction: column;
|
||
|
|
align-items: center;
|
||
|
|
justify-content: center;
|
||
|
|
min-height: 600px;
|
||
|
|
gap: 8px;
|
||
|
|
color: #666;
|
||
|
|
font-size: 14px;
|
||
|
|
}
|
||
|
|
|
||
|
|
.pdf-page-placeholder {
|
||
|
|
display: flex;
|
||
|
|
align-items: center;
|
||
|
|
justify-content: center;
|
||
|
|
min-height: 600px;
|
||
|
|
background: #fafafa;
|
||
|
|
border: 1px dashed #d9d9d9;
|
||
|
|
color: #999;
|
||
|
|
font-size: 14px;
|
||
|
|
}
|
||
|
|
|
||
|
|
.pdf-page-skeleton {
|
||
|
|
display: flex;
|
||
|
|
justify-content: center;
|
||
|
|
align-items: center;
|
||
|
|
padding: 20px;
|
||
|
|
min-height: 800px;
|
||
|
|
}
|
||
|
|
|
||
|
|
.pdf-page-error {
|
||
|
|
display: flex;
|
||
|
|
justify-content: center;
|
||
|
|
align-items: center;
|
||
|
|
min-height: 400px;
|
||
|
|
background: white;
|
||
|
|
border: 1px solid #f0f0f0;
|
||
|
|
border-radius: 4px;
|
||
|
|
margin: 20px;
|
||
|
|
}
|
||
|
|
|
||
|
|
.pdf-page-error p {
|
||
|
|
color: #ff4d4f;
|
||
|
|
font-size: 14px;
|
||
|
|
}
|
||
|
|
|
||
|
|
.pdf-loading {
|
||
|
|
display: flex;
|
||
|
|
flex-direction: column;
|
||
|
|
justify-content: center;
|
||
|
|
align-items: center;
|
||
|
|
height: 100%;
|
||
|
|
min-height: 400px;
|
||
|
|
}
|
||
|
|
|
||
|
|
.pdf-error {
|
||
|
|
display: flex;
|
||
|
|
justify-content: center;
|
||
|
|
align-items: center;
|
||
|
|
height: 100%;
|
||
|
|
min-height: 400px;
|
||
|
|
color: #ff4d4f;
|
||
|
|
font-size: 16px;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 文本层样式优化 */
|
||
|
|
.react-pdf__Page__textContent {
|
||
|
|
user-select: text;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 注释层样式优化 */
|
||
|
|
.react-pdf__Page__annotations {
|
||
|
|
user-select: none;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Document容器样式 - 确保不限制高度 */
|
||
|
|
.react-pdf__Document {
|
||
|
|
height: 100%;
|
||
|
|
width: 100%;
|
||
|
|
}
|