paper-burner/css/history_detail/03-components/annotations.css

305 lines
6.5 KiB
CSS
Raw Permalink 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.

/**
* Annotations - 批注管理组件
*
* 职责:批注摘要、表格、筛选、高亮
* 作用域:批注功能相关样式
* 依赖variables.css
*
* 提取自history_detail_inline_styles.css
*
* 包含:
* - 批注摘要模态框
* - 批注表格样式
* - 颜色筛选器
* - 文本预览对话框
* - 跳转高亮效果
*/
/* ==================== 1. 批注摘要模态框 ==================== */
#annotations-summary-modal .modal-content {
max-width: 80%;
width: 950px;
max-height: 85vh;
display: flex;
flex-direction: column;
position: relative;
}
#annotations-summary-modal .modal-close-btn {
position: absolute;
top: var(--spacing-md);
right: 18px;
font-size: 2em;
color: var(--color-text-secondary);
cursor: pointer;
z-index: 10;
background: none;
border: none;
line-height: 1;
padding: 0;
transition: color var(--transition-fast);
}
#annotations-summary-modal .modal-close-btn:hover {
color: var(--color-text-primary);
}
#annotations-summary-modal .table-container {
overflow-y: auto;
flex-grow: 1;
margin-top: var(--spacing-md);
border: 1px solid var(--color-border);
}
/* ==================== 2. 批注表格样式 ==================== */
#annotations-summary-table {
width: 100%;
border-collapse: collapse;
font-size: var(--font-size-sm);
}
#annotations-summary-table th,
#annotations-summary-table td {
border: 1px solid var(--color-border);
padding: 10px var(--spacing-sm);
text-align: left;
vertical-align: top;
word-break: break-word;
}
#annotations-summary-table th {
background-color: #f7f7f7;
position: sticky;
top: 0;
z-index: 1;
font-weight: var(--font-weight-semibold);
}
#annotations-summary-table .color-swatch {
display: inline-block;
width: 18px;
height: 18px;
border: 1px solid #ccc;
border-radius: var(--radius-sm);
vertical-align: middle;
box-shadow: var(--shadow-xs);
}
#annotations-summary-table .action-btn {
padding: 5px 10px;
font-size: var(--font-size-xs);
cursor: pointer;
border: 1px solid var(--color-primary);
background-color: #fff;
color: var(--color-primary);
border-radius: var(--radius-sm);
transition: all var(--transition-fast) ease;
}
#annotations-summary-table .action-btn:hover {
background-color: var(--color-primary);
color: #fff;
}
#annotations-summary-table .action-btn:disabled {
border-color: #ccc;
background-color: #f0f0f0;
color: #aaa;
cursor: not-allowed;
}
/* ==================== 3. 批注表格增强 ==================== */
#annotations-summary-table td {
max-width: 250px;
overflow: hidden;
text-overflow: ellipsis;
}
#annotations-summary-table td:nth-child(4) {
cursor: pointer;
position: relative;
}
#annotations-summary-table td:nth-child(4):hover {
background-color: #f0f0f0;
}
#annotations-summary-table td:nth-child(4)::after {
content: "👁️";
position: absolute;
right: 5px;
top: 50%;
transform: translateY(-50%);
opacity: 0;
transition: opacity var(--transition-fast);
}
#annotations-summary-table td:nth-child(4):hover::after {
opacity: 0.7;
}
/* ==================== 4. 批注控制栏 ==================== */
.annotations-summary-controls {
margin-bottom: var(--spacing-md);
display: flex;
gap: var(--spacing-lg);
align-items: center;
padding: 10px;
background-color: #f9f9f9;
border-radius: var(--radius-sm);
border: 1px solid var(--color-border);
flex-wrap: wrap;
}
.annotations-summary-controls label {
margin-right: 5px;
font-weight: var(--font-weight-medium);
}
.annotations-summary-controls select {
padding: 6px var(--spacing-sm);
border-radius: var(--radius-sm);
border: 1px solid #ccc;
background-color: #fff;
}
/* ==================== 5. 颜色筛选器 ==================== */
.annotations-summary-color-filter {
display: flex;
align-items: center;
gap: 6px;
margin-left: 10px;
flex-wrap: wrap;
padding: 5px;
border: 1px solid #eee;
border-radius: var(--radius-sm);
background-color: #fafafa;
}
.annotations-summary-color-checkbox {
display: flex;
align-items: center;
gap: 2px;
margin-right: 6px;
cursor: pointer;
padding: 3px 5px;
border-radius: 3px;
transition: background-color var(--transition-fast);
}
.annotations-summary-color-checkbox:hover {
background-color: #f0f0f0;
}
.annotations-summary-color-checkbox input[type="checkbox"] {
margin: 0 2px 0 0;
accent-color: var(--color-primary);
}
.annotations-summary-color-swatch {
width: 16px;
height: 16px;
border-radius: var(--radius-sm);
border: 1px solid #bbb;
display: inline-block;
margin-right: 2px;
}
/* ==================== 6. 文本预览对话框 ==================== */
.full-text-dialog {
animation: fadeIn var(--transition-fast) ease-out;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translate(-50%, -48%);
}
to {
opacity: 1;
transform: translate(-50%, -50%);
}
}
.full-text-dialog button {
background-color: #f0f0f0;
border: 1px solid var(--color-border);
border-radius: var(--radius-sm);
transition: all var(--transition-fast);
}
.full-text-dialog button:hover {
background-color: #e0e0e0;
}
/* ==================== 7. 跳转高亮效果 ==================== */
.jump-to-highlight-effect {
transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
background-color: rgba(255, 220, 0, 0.45) !important;
box-shadow: 0 0 12px rgba(255, 220, 0, 0.6) !important;
border-radius: 5px !important;
outline: 2px solid rgba(255, 200, 0, 0.7);
}
/* ==================== 8. 深色模式支持 ==================== */
@media (prefers-color-scheme: dark) {
#annotations-summary-table th {
background-color: #1e293b;
color: #e2e8f0;
}
#annotations-summary-table td:nth-child(4):hover {
background-color: #334155;
}
.annotations-summary-controls {
background-color: #1e293b;
border-color: #334155;
}
.annotations-summary-controls select {
background-color: #0f172a;
color: #e2e8f0;
border-color: #334155;
}
.annotations-summary-color-filter {
background-color: #1e293b;
border-color: #334155;
}
.annotations-summary-color-checkbox:hover {
background-color: #334155;
}
.full-text-dialog button {
background-color: #334155;
border-color: #475569;
color: #e2e8f0;
}
.full-text-dialog button:hover {
background-color: #475569;
}
}
/* ==================== 9. 打印样式 ==================== */
@media print {
.annotations-summary-controls {
display: none !important;
}
#annotations-summary-table .action-btn {
display: none !important;
}
}