newechoes/src/styles/articles-table.css

293 lines
6.2 KiB
CSS
Raw Normal View History

/* 表格基础样式 */
table {
width: 100%;
border-collapse: collapse;
margin: 1.5em 0;
font-size: 0.95rem;
box-shadow: 0 4px 10px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.04);
overflow: hidden;
border-radius: 0.5rem;
}
/* 表格边框样式 */
table, th, td {
border: 1px solid #e2e8f0;
}
/* 表头样式 */
thead {
background-color: #f0f5ff;
}
th {
padding: 1rem;
font-weight: 600;
text-align: left;
vertical-align: middle;
border-bottom: 2px solid #d6e0ff;
color: #3451db;
}
/* 表格单元格样式 */
td {
padding: 0.875rem 1rem;
vertical-align: middle;
color: #1e293b;
position: relative;
}
/* 内容对齐方式 */
th[align="center"],
td[align="center"] {
text-align: center;
}
th[align="right"],
td[align="right"] {
text-align: right;
}
th[align="left"],
td[align="left"] {
text-align: left;
}
/* 表格行交替颜色 */
tbody tr:nth-child(even) {
background-color: #f8fafc;
}
tbody tr:nth-child(odd) {
background-color: #ffffff;
}
/* 鼠标悬停效果 */
tbody tr:hover {
background-color: #f5f7ff;
}
/* 特定表格类型样式 */
table.feature-comparison td,
.feature-table td,
.function-table td,
.comparison-table td {
text-align: center;
}
table.feature-comparison td:first-child,
.feature-table td:first-child,
.function-table td:first-child,
.comparison-table td:first-child {
text-align: left;
font-weight: 500;
}
.feature-table th,
.function-table th,
.comparison-table th {
text-align: center;
}
.feature-table th:first-child,
.function-table th:first-child,
.comparison-table th:first-child {
text-align: left;
}
/* 勾号和叉号样式 */
.tick, .yes, .true, .check-mark, .checkmark, .check, . {
display: inline-block;
text-align: center;
color: #059669;
font-weight: bold;
font-size: 1.25em;
}
.cross, .no, .false, .cross-mark, .crossmark, .cross-symbol, . {
display: inline-block;
text-align: center;
color: #dc2626;
font-weight: bold;
font-size: 1.25em;
}
/* 添加内容 */
.tick::before, .yes::before, .true::before {
content: "✓";
}
.cross::before, .no::before, .false::before {
content: "✗";
}
/* 状态标识符号样式 */
td:has(> :is(svg[aria-label="yes"], .yes, .tick, .true)) {
color: #047857;
}
td:has(> :is(svg[aria-label="no"], .no, .cross, .false)) {
color: #b91c1c;
}
/* 单个单元格居中 */
td:only-child {
text-align: center;
}
/* 全局状态颜色 */
.text-success,
.text-green,
.success-mark {
color: #059669 !important;
font-weight: bold;
}
.text-danger,
.text-red,
.danger-mark {
color: #dc2626 !important;
font-weight: bold;
}
/* Prose 内表格样式 */
.prose table {
border-collapse: collapse !important;
border-radius: 0.5rem !important;
overflow: hidden !important;
}
.prose table th,
.prose table td {
border: 1px solid #e2e8f0 !important;
}
/* 表格内行内样式覆盖 */
table[style] th,
table[style] td {
border: 1px solid #e2e8f0 !important;
}
table[style] td {
vertical-align: middle;
}
/* 响应式表格样式 */
@media (max-width: 640px) {
/* 表格容器 */
table {
display: table;
table-layout: fixed;
width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
/* 表格包装容器 - 注意需要在HTML中添加div.table-wrapper包围表格 */
.table-wrapper {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
max-width: 100%;
margin: 1.5em 0;
}
/* 确保标题和内容宽度一致 */
table th,
table td {
min-width: 8rem;
padding: 0.75rem;
white-space: nowrap;
}
}
/* 暗色模式 */
[data-theme="dark"] table {
box-shadow: 0 4px 12px -1px rgba(0, 0, 0, 0.3), 0 2px 6px -1px rgba(0, 0, 0, 0.2);
border-color: #475569;
background-color: #0f172a;
border-radius: 0.5rem;
overflow: hidden;
}
[data-theme="dark"] table,
[data-theme="dark"] th,
[data-theme="dark"] td {
border-color: #475569;
}
[data-theme="dark"] table[style] th,
[data-theme="dark"] table[style] td,
[data-theme="dark"] .prose table th,
[data-theme="dark"] .prose table td {
border-color: #475569 !important;
}
[data-theme="dark"] thead {
background-color: #1e293b;
border-bottom: 2px solid #4b6bff;
}
[data-theme="dark"] th {
border-bottom-color: #4b6bff;
color: #adc2ff;
background-color: transparent;
font-weight: 600;
letter-spacing: 0.5px;
}
[data-theme="dark"] th:not(:last-child) {
border-right-color: #374151;
}
[data-theme="dark"] td {
color: #e2e8f0;
}
[data-theme="dark"] td:not(:last-child) {
border-right-color: #374151;
}
[data-theme="dark"] tbody tr:nth-child(even) {
background-color: #1e293b;
}
[data-theme="dark"] tbody tr:nth-child(odd) {
background-color: #111827;
}
[data-theme="dark"] tbody tr:hover {
background-color: #272f45;
box-shadow: inset 0 0 0 2px rgba(75, 107, 255, 0.3);
}
[data-theme="dark"] tbody tr:last-child td {
border-bottom: none;
}
/* 暗色模式下的勾叉符号 */
[data-theme="dark"] .tick,
[data-theme="dark"] .yes,
[data-theme="dark"] .true,
[data-theme="dark"] .check-mark,
[data-theme="dark"] .checkmark,
[data-theme="dark"] .check,
[data-theme="dark"] .,
[data-theme="dark"] .text-success,
[data-theme="dark"] .text-green,
[data-theme="dark"] .success-mark {
color: #10b981 !important;
text-shadow: 0 0 5px rgba(16, 185, 129, 0.3);
}
[data-theme="dark"] .cross,
[data-theme="dark"] .no,
[data-theme="dark"] .false,
[data-theme="dark"] .cross-mark,
[data-theme="dark"] .crossmark,
[data-theme="dark"] .cross-symbol,
[data-theme="dark"] .,
[data-theme="dark"] .text-danger,
[data-theme="dark"] .text-red,
[data-theme="dark"] .danger-mark {
color: #ef4444 !important;
text-shadow: 0 0 5px rgba(239, 68, 68, 0.3);
}