博客文章脚注右浮 #1561
-
益辉你好!我在你的博客文章中发现了脚注右浮,一直觉得这种设置看起来会更舒服和更方便。另外,对于记录自己想法的博客文章,我觉得脚注右浮会更有利于及时连接到新的想法。 我按照自己的主题模板寻求过ChatGPT的帮助,但到目前都无法成功实现像你一样的效果,所以想和你请教一下该咋设置(似乎主要是和_default.html和partial.html及css这三个文件相关)? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
这问题太细节了,ChatGPT 可能还没有智能到这个程度。粗略的实现是这样: 首先用 JS 把脚注都移动到正文内的脚注序号后面的一个 <script src="https://cdn.jsdelivr.net/npm/@xiee/utils/js/sidenotes.min.js" defer></script> (对 JS 感兴趣的话,源码在此:https://github.com/yihui/misc.js/blob/main/js/sidenotes.js) 这段代码加到任意页面模版里都可以,它只对包含脚注的页面起作用。 然后就是 CSS,这是真正有点复杂的地方,需要考虑的细节比较多。粗略地说,就是把脚注向右浮动: .side-right {
float: right;
width: 200px;
margin-right: calc(-200px - 2em);
font-size: .9em;
} 向右浮动后,右边距就是 0 了。通过设置宽度 200 像素(可以是别的数值)然后把这个层向右移动 200 像素,实际上就是把脚注层移动至正文的右侧、正好让脚注的左侧边贴在正文右侧边上,此时为了美观再留一点空隙,也就是向右再移动 2 个字符宽。 你可以在浏览器里直接运行 JS 并添加 CSS 调试你的页面看看效果:https://guozheng.rbind.io/posts/2024/01/passer-by-in-life/ 稍微有点麻烦的就是响应式的 CSS,即:当页宽不足以在右侧放置脚注时,你需要重新定义 CSS,比如把浮动和边距设置取消,让脚注回到正文区域。也就是需要类似这样的 yihui.org/static/css/custom.css Line 128 in 895c7db 还有个小麻烦是如果页面内没有脚注,正文该如何布局。我目前的做法是如果没有脚注,那么正文在页面内居中;如果有脚注,那么正文向左挪出足够放下脚注的空间,也就是左右栏布局。这可能会带来一点阅读上的不一致体验(有的文章居中、有的文章居左),但我没想出更好的方案。当然也可以一致居左,但我觉得右边空出一片空白完全没用也有点别扭。 |
Beta Was this translation helpful? Give feedback.
这问题太细节了,ChatGPT 可能还没有智能到这个程度。粗略的实现是这样:
首先用 JS 把脚注都移动到正文内的脚注序号后面的一个
<div class="side-right">
内:(对 JS 感兴趣的话,源码在此:https://github.com/yihui/misc.js/blob/main/js/sidenotes.js)
这段代码加到任意页面模版里都可以,它只对包含脚注的页面起作用。
然后就是 CSS,这是真正有点复杂的地方,需要考虑的细节比较多。粗略地说,就是把脚注向右浮动:
向右浮动后,右边距就是 0 了。通过设置宽度 200 像素(可以是别的数值)然后把这个层向右移动 200 像素,实际上就是把脚注层移动至正文的右侧、正好让脚注的左侧边贴在正文右侧边上,此时为了美观再留一点空隙,也就是向右再移动 2 个字符宽。
你可以在浏览器里直接运行 JS 并添加 CSS 调试你的页面看看效果:https://guozheng.rbind.io/posts/2024/01/passer-by-in-life/
稍微有点麻烦的就是响应式的 CSS,即:当页宽不…