Markdown 写博客够用了,但有时候总觉得差点意思——想要个折叠框、想要个提示条、想让某段内容动起来。好在 Hexo 渲染 Markdown 时不会过滤 HTML 标签,所以直接嵌进去就行。

这篇就当个笔记,记录一些能用上的写法。

折叠内容

<details> 就行,不需要任何 JS:

点开看看

折叠的内容放在这里,可以是代码、补充说明,或者单纯不想让页面太长的东西。

提示框

Markdown 没有提示框语法,但用 <div> 加几行样式就能做出来:

成功 — 操作完成。
错误 — 出了点问题,请检查后重试。
警告 — 这步操作不可撤销。

换个背景色和左边框颜色就能区分类型,没什么技术含量。

渐变文字

纯粹是 CSS 在起作用:

这段文字带渐变色

原理就是 background-clip: text 把背景裁到文字区域,再把文字本身设成透明。兼容性还行,现代浏览器都支持。

实时时钟

这个需要 JS 了。写个定时器每秒更新一次:

00:00:00

代码不复杂,setInterval 每秒跑一次,格式化一下时间塞进 DOM 就行。

进度条

@keyframes 从 0 拉到目标宽度,配合 IntersectionObserver 让它滚到可见时才播放:

HTML
CSS
JavaScript

思路:进度条初始不加 animationIntersectionObserver 监听滚入视口后才加上动画 class。点重置按钮把 class 移除并重新监听,下次滚到又会再播。

小结

做法 效果
直接写 HTML 标签 折叠框、高亮、提示框
style 属性 颜色、布局、渐变
<script> 时钟、交互
CSS @keyframes 进度条、淡入动画

没什么黑魔法,就是在 Markdown 里混着写。Hexo 渲染时不会动这些标签,浏览器拿到原样渲染就行。下次想加点花活,直接往文章里塞就行。