任务列表样式增强
Obsidian 的任务列表默认样式比较朴素。通过 CSS 可以美化复选框、区分已完成和未完成任务、添加优先级颜色。
复选框美化
css
/* 复选框样式 */
.task-list-item-checkbox {
width: 16px;
height: 16px;
border-radius: 4px;
accent-color: var(--interactive-accent);
cursor: pointer;
transition: all 0.2s ease;
}
/* 悬停效果 */
.task-list-item-checkbox:hover {
transform: scale(1.15);
box-shadow: 0 2px 8px rgba(124, 58, 237, 0.2);
}
/* 已选中样式 */
.task-list-item-checkbox:checked {
background-color: var(--interactive-accent);
border-color: var(--interactive-accent);
}已完成任务样式
css
/* 已完成任务灰显划线 */
.markdown-preview-view .task-list-item.is-checked,
.markdown-preview-view .task-list-item.is-checked > * {
color: var(--text-faint);
text-decoration: line-through;
text-decoration-color: var(--text-faint);
opacity: 0.7;
}
/* 编辑模式 */
.cm-s-obsidian .HyperMD-task-line[data-task="x"] {
color: var(--text-faint);
text-decoration: line-through;
opacity: 0.7;
}
/* 复选框变绿 */
.task-list-item.is-checked .task-list-item-checkbox:checked {
background-color: #22c55e;
border-color: #22c55e;
}优先级着色
css
/* 高优先级 - 红色边框 */
.task-list-item:has(input[data-task="!"]),
li[data-task="!"] {
border-left: 3px solid #ef4444;
padding-left: 8px;
background: rgba(239, 68, 68, 0.05);
}
/* 中优先级 - 黄色 */
.task-list-item:has(input[data-task="?"]),
li[data-task="?"] {
border-left: 3px solid #f59e0b;
padding-left: 8px;
background: rgba(245, 158, 11, 0.05);
}
/* 低优先级 - 绿色 */
.task-list-item:has(input[data-task="-"]),
li[data-task="-"] {
border-left: 3px solid #22c55e;
padding-left: 8px;
}进行中样式
css
/* 进行中任务 - 蓝色 */
.task-list-item:has(input[data-task=">"]),
li[data-task=">"] {
border-left: 3px solid #3b82f6;
padding-left: 8px;
background: rgba(59, 130, 246, 0.05);
}
/* 进行中任务的复选框 */
li[data-task=">"] .task-list-item-checkbox {
background: #3b82f6;
border-color: #3b82f6;
}取消任务样式
css
/* 取消的任务 - 删除线 */
.task-list-item:has(input[data-task="-"]),
li[data-task="-"] {
color: var(--text-faint);
text-decoration: line-through;
opacity: 0.5;
}任务统计样式
css
/* 任务计数器样式 */
.markdown-preview-view .task-list-item {
position: relative;
}
/* 悬停显示任务索引 */
.markdown-preview-view .task-list-item:hover::before {
content: counter(task-counter);
counter-increment: task-counter;
position: absolute;
left: -2rem;
color: var(--text-faint);
font-size: 0.8em;
}
.markdown-preview-view ul {
counter-reset: task-counter;
}相关内容
- Callout 美化 — 配合任务说明使用
- CSS 代码片段详解 — 完整片段教程