diff --git a/app/routes/contract-template.detail.$id.tsx b/app/routes/contract-template.detail.$id.tsx index c175500..fdaac27 100644 --- a/app/routes/contract-template.detail.$id.tsx +++ b/app/routes/contract-template.detail.$id.tsx @@ -7,7 +7,92 @@ import styles from '~/styles/pages/contract-template.css?url'; import { FilePreview } from '~/components/reviews'; export const links = () => [ - { rel: 'stylesheet', href: styles } + { rel: 'stylesheet', href: styles }, + // 添加专门的样式隔离 + { + rel: 'stylesheet', + href: 'data:text/css;base64,' + btoa(` + .file-preview-isolation { + all: unset !important; + display: block !important; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important; + font-size: 14px !important; + line-height: 1.5 !important; + color: #333 !important; + background: #fff !important; + width: 100% !important; + min-height: 600px !important; + position: relative !important; + isolation: isolate !important; + contain: layout style !important; + } + .file-preview-isolation * { + font-family: inherit !important; + box-sizing: border-box !important; + } + .file-preview-isolation .file-preview-header { + display: flex !important; + justify-content: space-between !important; + align-items: center !important; + padding: 8px 16px !important; + background: #f8f9fa !important; + border-bottom: 1px solid #dee2e6 !important; + font-size: 14px !important; + line-height: 1.5 !important; + max-width: none !important; + width: 100% !important; + text-overflow: unset !important; + white-space: nowrap !important; + overflow: visible !important; + } + .file-preview-isolation .file-preview-actions { + display: flex !important; + align-items: center !important; + gap: 8px !important; + } + .file-preview-isolation button, + .file-preview-isolation .ant-btn { + padding: 4px 8px !important; + margin: 0 2px !important; + border: 1px solid #d9d9d9 !important; + border-radius: 4px !important; + background: white !important; + color: #333 !important; + font-size: 12px !important; + line-height: 1.4 !important; + cursor: pointer !important; + display: inline-flex !important; + align-items: center !important; + justify-content: center !important; + min-height: 24px !important; + text-decoration: none !important; + white-space: nowrap !important; + vertical-align: middle !important; + } + .file-preview-isolation input, + .file-preview-isolation .ant-input { + padding: 4px 8px !important; + border: 1px solid #d9d9d9 !important; + border-radius: 4px !important; + background: white !important; + color: #333 !important; + font-size: 12px !important; + line-height: 1.4 !important; + min-height: 24px !important; + width: auto !important; + max-width: 40px !important; + text-align: center !important; + outline: none !important; + } + .file-preview-isolation .file-preview-content { + max-height: calc(100vh - 150px) !important; + overflow: auto !important; + background: #f8f9fa !important; + padding: 0 !important; + margin: 0 !important; + } + `) + } ]; export const meta: MetaFunction = ({ data }) => { @@ -318,8 +403,33 @@ export default function ContractTemplateDetail() {

合同预览

- {/* 为FilePreview创建样式隔离容器 */} -
+ {/* 使用更强的样式隔离 */} +