扫码关注官方订阅号
正文
0
雪夜
发布时间:2025-12-29 23:01:23
964人浏览过
来源于php中文网
原创
需借助语义化标签、CSS样式及JavaScript事件协同实现:一、Ruby标签内联批注;二、data-*属性+伪元素悬停批注;三、contenteditable+DOM操作可编辑批注;四、annotator.js遵循W3C标准;五、Canvas坐标映射PDF批注。
如果您希望在HTML5页面中嵌入带有批注的文档,并实现批注的可视化展示与用户交互功能,则需借助语义化标签、CSS样式控制及JavaScript事件处理协同完成。以下是实现该目标的多种方法:
该方法适用于简短文字的音读或释义类批注,利用HTML5原生的Ruby注解结构,在不依赖脚本的情况下呈现基础批注效果。
1、在需要添加批注的汉字或词语外层包裹标签。
2、在内部,将原文内容置于标签中(部分浏览器支持,可省略),将批注文字置于标签中。
立即学习“前端免费学习笔记(深入)”;
3、为标签添加CSS样式,如display: inline-block; font-size: 0.7em; color: #666;,以控制批注显示位置与外观。
4、可选地在外层添加
该方法利用自定义data属性存储批注内容,通过CSS :hover与::after伪元素动态显示,无需JavaScript即可完成轻量交互。
1、为需标注的文本元素(如)添加data-note属性,值为批注文本,例如:超时。
2、编写CSS规则,匹配具有data-note属性的元素,并设置position: relative。
3、为该元素的::after伪元素设定content: attr(data-note),并配置visibility: hidden; opacity: 0; transition: all 0.2s;等初始状态。
4、添加:hover状态样式,将visibility设为visible,opacity设为1,并通过transform与top/left微调弹出位置。
该方法允许用户在网页中直接点击文本触发批注输入框,支持实时增删改批注节点,适合协作型文档场景。
1、为文档段落设置contenteditable="true"属性,并为其绑定click事件监听器。
2、在事件处理器中,获取当前选中文本范围,创建独立的容器包裹所选内容。
3、在该后立即插入一个带class="annotation-trigger"的按钮,其innerText为"+"。
AIBox365一站式AI创作平台,支持ChatGPT、GPT4、Claue3、Gemini、Midjourney等国内外大模型
4、点击该按钮时,动态创建textarea与提交按钮,插入至下方,并聚焦textarea,同时阻止事件冒泡防止重复触发。
5、提交后,将textarea值存入新创建的
该方法遵循W3C Web Annotation标准,通过引入annotator.js实现符合规范的批注数据结构、持久化与多用户同步能力。
1、在页面中引入annotator.min.css与annotator.min.js文件,并确保目标文档容器具有唯一id。
2、初始化Annotator实例,传入目标容器选择器及插件配置,例如启用Fields、Filter、Tags等扩展模块。
3、配置storage选项,连接后端API端点,使add、update、delete操作自动发送HTTP请求至/server/annotations。
4、调用annotate()方法激活批注模式,用户拖选文本后将弹出工具栏,点击“Post”即保存带锚点信息的JSON-LD格式批注。
5、批注渲染由库自动完成,每个批注块包含高亮背景、边框标识及右侧浮动面板,面板中显示作者名、时间戳与富文本内容。
该方法适用于需在非文本流式布局(如Canvas渲染的PDF页)上叠加批注的场景,依赖鼠标事件坐标与页面缩放比例换算。
1、使用pdf.js加载PDF并逐页渲染至,记录每页渲染后的实际宽高与devicePixelRatio缩放系数。
2、为canvas绑定mousedown、mousemove、mouseup事件,捕获起始与结束坐标,减去canvas.offsetLeft/Top得到相对坐标。
3、将原始坐标除以当前缩放比,再按PDF页面原始尺寸归一化,生成符合PDF坐标系的矩形区域对象。
4、将该区域与用户输入的批注文本一起序列化为JSON,存入localStorage或发送至服务端。
5、重绘时遍历所有批注数据,将归一化坐标乘回当前渲染缩放比与canvas尺寸,调用fillRect与fillText绘制高亮框与浮动标签,其中标签背景色应设为rgba(255, 255, 0, 0.8)以确保可读性。
相关文章
HTMLdoctype怎么声明_文档类型声明指南【指南】
HTML引文版本差异详解_HTML引文版本差异操作【操作】
HTML5注释和旧版区别_HTML5注释特性介绍【介绍】
HTML字体代码设置_html字体代码怎么设置【修改】
HTML表单跨版本使用_HTML表单跨版本操作【操作】
相关标签:
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
Excel怎样进行数据验证_Excel进行数据验证设置规则【规则】
2026-03-13 15:01
AdobeFirefly提示词不生效怎么办_AdobeFirefly提示词调整方法【技巧】
2026-03-13 15:09
国产TOP5大厂或牵手豆包打造AI手机,继努比亚后行业再起猜想
2026-03-13 15:11
HTML类选择器怎么用_HTML类选择器样式设置详解【详解】
请求对象中的参数支持哪些过滤方法_参数过滤函数【汇总】
2026-03-13 15:17
追书神器怎么搜索书_追书神器找书添加书架步骤
2026-03-13 15:18
秒懂瞬刻连招!实战爆伤核心技巧全解析 #原神攻略 #瞬刻使用
2026-03-13 15:19
喜马拉雅怎么开启定时关闭_喜马拉雅睡眠定时设置教程
2026-03-13 15:35
红果短剧怎么倍速播放_红果短剧倍速设置步骤
2026-03-13 15:43
ThinkPHP控制器方法怎么调用_ThinkPHP控制器动作执行操作【教程】
2026-03-13 16:03
热门AI工具
幻方量化公司旗下的开源大模型平台
字节跳动自主研发的一系列大型语言模型
腾讯云推出的AI原生桌面智能体工作台
腾讯混元平台推出的AI助手
文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。
基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿
一站式AI创作平台,免费AI图片和视频生成。
最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。
智谱清言 - 免费全能的AI助手
相关专题
JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。
457
2023.08.07
JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。
549
2023.08.23
操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。
337
2023.10.13
本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。
82
2025.09.10
html5动画制作方法有使用CSS3动画、使用JavaScript动画库、使用HTML5 Canvas等。想了解更多html5动画制作方法相关内容,可以阅读本专题下面的文章。
550
2023.10.23
HTML与HTML5的区别:1、html5支持矢量图形,html本身不支持;2、html5中可临时存储数据,html不行;3、html5新增了许多控件;4、html本身不支持音频和视频,html5支持;5、html无法处理不准确的语法,html5能够处理等等。想了解更多HTML与HTML5的相关内容,可以阅读本专题下面的文章。
472
2024.03.06
想系统掌握HTML5开发?本合集精选全网优质学习资源,涵盖免费教程、实战项目、视频课程与权威电子书,从基础语法到高级特性(Canvas、本地存储、响应式布局等)一应俱全,适合零基础小白到进阶开发者,助你高效入门并精通HTML5前端开发。
297
2025.12.30
HTML5在2026年持续优化网页语义化与交互体验,不仅引入了如<header>、<nav>、<article>、<section>、<aside>、<footer>等结构化标签,还新增了<video>、<audio>、<canvas>、<figure>、<time>、<mark>等增强多媒体与
229
本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。
26
2026.03.13
热门下载
相关下载
精品课程
共102课时 | 7.3万人学习
共132课时 | 12.6万人学习
共60课时 | 4.4万人学习
共6课时 | 11.3万人学习
共79课时 | 154万人学习
共6课时 | 53.6万人学习
共4课时 | 22.5万人学习
共13课时 | 1.0万人学习
最新文章
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部