Typora 怎么标记清单:勾选自动划掉后续内容,复刻 Notion 效果
解决痛点勾选任务后只能划掉当前行下面的说明文字还是乱糟糟的看不出哪些是已完成的附属内容想手动给内容加删除线又麻烦又容易出错还得随时记得取消标题和任务混在一起勾选效果失效一、先看效果勾选一个任务复选框从当前任务行开始一直到下一个复选框或者 ** 下一个标题H1~H6** 之前的所有内容自动加上删除线并置灰一眼就能区分已完成和未完成的内容遇到下一个标题或新任务效果自动停止完全不会影响后续内容的显示二、踩坑避坑1. 别把复选框写在标题里我试了一下像这样写markdown#### 2.1.1 - [ ] 弹窗调整发现这种写法是无效的。查了一下是说因为#开头的行会被解析成标题标签标题里的- [ ]只会被当成普通文本永远不会变成可勾选的复选框自然也触发不了后续的划掉效果。正确的写法是标题和任务分开或者把任务本身作为待办项的开头// 方案1标题独立任务项 #### 2.1.1 弹窗调整 - [ ] 完成弹窗布局修改 弹窗调整的需求说明xxx 字段需要调整位置xxx 弹窗需要新增校验规则... // 方案2任务项直接带标题勾选后标题也会被划掉 - [ ] 2.1.1 弹窗调整 弹窗调整的需求说明xxx 字段需要调整位置xxx 弹窗需要新增校验规则...3. 代码块里永远别想解析任务列表如果你把- [ ]写在包裹的代码块里不管怎么写都不会生效。因为代码块里的内容会被当成纯文本渲染所有 Markdown 语法都不会解析包括任务列表。三、一步到位实现自动划掉效果下面是我测试的能适配所有 Typora 版本、100% 生效的 CSS 代码直接复制就能用。1. 找到你的 Typora 主题文件夹打开 Typora → 点击顶部菜单栏「文件」→「偏好设置」→ 切换到「外观」选项卡 → 点击「打开主题文件夹」就能看到你当前使用的主题文件了。2. 新建 / 修改.css文件在主题文件夹里新建一个名为base.user.css的文件注意后缀必须是.css不能是.txt或者看你使用的哪个主题根据以上方法找到对应的主题css文件直接打开修改即可。3. 复制粘贴下面的代码把文件里的内容全部替换成下面这段代码然后保存文件/* Typora 任务列表终极效果勾选自动划掉当前到下一个标题/复选框前所有内容 */ /* 1. 已勾选的任务项本身添加删除线置灰 */ li.task-list-item:has(input:checked) { color: #888 !important; text-decoration: line-through !important; } /* 2. 已勾选任务后面的所有内容直到下一个标题/复选框前全部生效 */ li.task-list-item:has(input:checked) ~ *:not( h1, h2, h3, h4, h5, h6, li.task-list-item ) { color: #888 !important; text-decoration: line-through !important; } /* 3. 遇到下一个标题/复选框立刻恢复正常不影响后续内容 */ li.task-list-item:has(input:checked) ~ h1, li.task-list-item:has(input:checked) ~ h2, li.task-list-item:has(input:checked) ~ h3, li.task-list-item:has(input:checked) ~ h4, li.task-list-item:has(input:checked) ~ h5, li.task-list-item:has(input:checked) ~ h6, li.task-list-item:has(input:checked) ~ li.task-list-item { color: inherit !important; text-decoration: none !important; } /* 4. 微调复选框样式和 Notion 效果对齐 */ .task-list-item input[typecheckbox] { transform: scale(1.1); margin-right: 6px; }4. 重启 Typora效果直接生效保存文件后完全关闭 Typora包括后台进程再重新打开新的 CSS 样式就会自动加载了。