脚注应使用而非,因其语义明确表示与主内容相关但可独立的旁注;须用配合data-footnote-id实现双向关联,序号必须写入html以保障可访问性与打印完整性。

脚注该用 <aside></aside> 还是 <footer></footer>?
脚注不是页脚,也不是随便塞个 <div> 就完事。语义上它属于对当前段落或句子的补充说明,应放在引用位置附近,且与主内容保持逻辑从属关系。<code><aside></aside> 是唯一被 HTML5 明确定义用于“与周围内容相关但可独立存在”的容器,比如旁注、脚注、引申说明——这正是脚注的本质。而 <footer></footer> 只适用于章节或页面的结尾元信息(如作者、日期),用它包脚注会误导屏幕阅读器和搜索引擎。
sup 和 data-footnote-id 怎么配合用?
纯视觉上标号(如 ¹)靠 <sup></sup>,但它本身无语义。必须搭配可编程锚点才能实现跳转与关联。推荐用 data-footnote-id 作为双向标识符,比依赖 id 更灵活(避免全局命名冲突):
<p>爱因斯坦提出质能方程<sup data-footnote-id="fn1">1</sup>。</p> <aside class="footnotes"><ol> <li data-footnote-id="fn1">E=mc²,1905年狭义相对论推导得出。</li> </ol></aside>
这样 JS 或 CSS 都能精准定位,也方便后续加锚点跳转逻辑。
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
为什么不能只靠 CSS 伪元素生成脚注序号?
用 ::before 自动生成数字看似省事,但会带来三个实际问题:
- 屏幕阅读器无法读出序号,视障用户不知道这是脚注
- 复制正文时序号不会被复制,粘贴后引用断裂
- 打印时部分浏览器忽略伪元素,导致脚注编号丢失
正确做法是把序号写进 HTML:<li>
<sup>1</sup> E=mc²…</li>,再用 CSS 控制样式(如垂直对齐、字体大小),确保可访问性与内容完整性不妥协。
脚注内容放哪儿?<section></section> 还是 <aside></aside>?
单篇文章内多个脚注统一收口,用 <aside class="footnotes"></aside> 最稳妥。它明确表达“这些是辅助性说明”,且天然支持无障碍角色 role="note"。不要用 <section></section>——它表示文档结构中的独立章节,语义过重;也不要用 <footer></footer> 或 <div>——前者错位,后者无意义。
<p>如果脚注只服务于某一段落,可以就近放在该段落末尾的 <code><aside></aside> 里;如果是全篇共用,则统一置于文章底部,仍用 <aside></aside> 包裹并加 class 标识。
最容易被忽略的是:脚注列表里的 <li> 必须和正文里的 sup 通过属性(如 data-footnote-id)严格一一对应——手动维护时极易漏配或重复,上线前务必逐条核对。










