nex_docus/frontend/src/pages/Document/DocumentPage.css

337 lines
5.9 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

.project-docs-page {
height: calc(100vh - 64px);
overflow: hidden;
background: var(--bg-color);
}
.docs-layout {
height: 100%;
background: var(--bg-color);
}
.docs-sider {
border-right: 1px solid var(--border-color);
height: 100%;
overflow: hidden;
display: flex;
flex-direction: column;
background: var(--sider-bg);
}
.docs-sider-header {
padding: 16px 20px;
border-bottom: 1px solid var(--border-color);
display: flex;
flex-direction: column;
gap: 12px;
background: var(--header-bg);
}
.docs-sider-header h2 {
margin: 0;
font-size: 16px;
font-weight: 600;
color: var(--text-color);
line-height: 1.5;
}
.docs-sider-actions {
display: flex;
align-items: center;
}
.mode-actions-row {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.mode-actions-group {
display: inline-flex;
align-items: center;
}
.docs-sider-actions .mode-actions-group .ant-btn {
display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
color: var(--text-color-secondary);
}
.docs-sider-actions .mode-actions-group .ant-btn:hover {
background: var(--item-hover-bg);
border-color: var(--border-color);
color: var(--link-color);
}
.docs-menu {
flex: 1;
overflow-y: auto;
border-right: none;
background: var(--sider-bg);
color: var(--text-color);
}
/* 修复文档名过长的显示问题 */
.docs-menu .ant-menu-title-content {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.docs-menu .ant-menu-item,
.docs-menu .ant-menu-submenu-title {
overflow: hidden;
}
.docs-content-layout {
position: relative;
height: 100%;
background: var(--bg-color);
}
.docs-toc-sider {
border-left: 1px solid var(--border-color);
background: var(--bg-color-secondary) !important;
height: 100%;
overflow: hidden;
display: flex;
flex-direction: column;
}
.toc-header {
padding: 16px;
border-bottom: 1px solid var(--border-color);
display: flex;
justify-content: space-between;
align-items: center;
background: var(--header-bg);
}
.toc-header h3 {
margin: 0;
font-size: 14px;
font-weight: 600;
color: var(--text-color);
}
.toc-content {
flex: 1;
overflow-y: auto;
overflow-x: auto;
padding: 16px;
}
.toc-content .ant-anchor {
padding-left: 0;
padding-bottom: 65px;
/* 给Anchor组件添加底部内边距避免最后一项被遮挡 */
}
.toc-content .ant-anchor-link {
padding: 6px 0;
}
.toc-content .ant-anchor-link-title {
font-size: 13px;
color: var(--text-color-secondary);
line-height: 1.5;
white-space: nowrap;
}
.toc-content .ant-anchor-link-active>.ant-anchor-link-title {
color: var(--link-color);
font-weight: 500;
}
.toc-empty {
color: var(--text-color-secondary);
text-align: center;
margin-top: 40px;
font-size: 13px;
}
.toc-toggle-btn {
position: fixed;
right: 24px;
top: 50%;
transform: translateY(-50%);
z-index: 100;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.docs-content {
height: 100%;
overflow-y: auto;
background: var(--bg-color);
}
.docs-content-header {
position: sticky;
top: 0;
z-index: 5;
min-height: 57px;
padding: 16px 24px;
border-bottom: 1px solid var(--border-color);
background: var(--header-bg);
display: flex;
align-items: center;
}
.docs-content-header h3 {
margin: 0;
font-size: 16px;
font-weight: 600;
color: var(--text-color);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: 100%;
}
.docs-content-wrapper {
max-width: 900px;
margin: 0 auto;
padding: 24px;
min-height: 100%;
}
/* PDF模式下使用全宽 */
.docs-content-wrapper.pdf-mode {
max-width: 100%;
padding: 0;
height: 100%;
display: flex;
flex-direction: column;
}
.docs-loading {
display: flex;
justify-content: center;
align-items: center;
min-height: 400px;
}
.markdown-body {
font-size: 16px;
line-height: 1.6;
color: var(--text-color);
background-color: var(--bg-color);
}
.markdown-body h1 {
font-size: 32px;
font-weight: 600;
margin-top: 24px;
margin-bottom: 16px;
padding-bottom: 8px;
border-bottom: 1px solid var(--border-color);
color: var(--text-color);
}
.markdown-body h2 {
font-size: 24px;
font-weight: 600;
margin-top: 24px;
margin-bottom: 16px;
padding-bottom: 8px;
border-bottom: 1px solid var(--border-color);
color: var(--text-color);
}
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
font-weight: 600;
margin-top: 20px;
margin-bottom: 12px;
color: var(--text-color);
}
.markdown-body h3 { font-size: 20px; }
.markdown-body p {
margin-bottom: 16px;
color: var(--text-color);
}
.markdown-body code {
background-color: var(--code-bg);
padding: 2px 6px;
border-radius: 3px;
font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
font-size: 14px;
color: var(--text-color);
}
.markdown-body pre {
background-color: var(--code-bg);
padding: 16px;
border-radius: 6px;
overflow-x: auto;
margin-bottom: 16px;
}
.markdown-body pre code {
background-color: transparent;
padding: 0;
color: inherit;
}
.markdown-body blockquote {
padding: 0 16px;
border-left: 4px solid var(--blockquote-border-color);
color: var(--blockquote-text-color);
margin-bottom: 16px;
}
.markdown-body table {
border-collapse: collapse;
width: 100%;
margin-bottom: 16px;
display: block;
overflow-x: auto;
}
.markdown-body th,
.markdown-body td {
border: 1px solid var(--table-border-color);
padding: 8px 13px;
color: var(--text-color);
}
.markdown-body th {
background-color: var(--table-header-bg);
font-weight: 600;
}
.markdown-body img {
max-width: 100%;
height: auto;
}
.markdown-body a {
color: var(--link-color);
text-decoration: none;
}
.markdown-body a:hover {
text-decoration: underline;
}
.markdown-body ul,
.markdown-body ol {
margin-bottom: 16px;
padding-left: 2em;
color: var(--text-color);
}
.markdown-body li {
margin-bottom: 4px;
}