”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > Long Hover技巧详解及应用

Long Hover技巧详解及应用

发布于2025-04-16
浏览:321

[2

最近,我遇到了一个相当尴尬的CSS监督。 我正在开发一个网站,其中包含一个狭窄的侧边栏,其中包含图标。 缺乏描述性文本的空间,设计的设计需要可访问但最初隐藏的工具提示,该工具提示是由长时间悬停触发的。 工具提示将在三秒钟悬停后出现。 Long Hover 我最初的方法涉及JavaScript状态管理:

一个状态变量,可跟踪工具提示可见性(可见/隐藏)。 该状态将在相关的HTML元素上更新类。

mouseenter
  1. mouseleave
  2. 在将状态设置为
  3. 工具提示将保持隐藏状态( mouseleave )。
  4. 这是一个反应项目,因此使用JavaScript状态感到自然。但是,回想起来,它被证明是不必要的复杂。
  5. 鼠标事件感觉有点不可靠,并且单独使用CSS更加简洁,有效地实现了整个功能。 令人尴尬的实现:当CSS解决方案容易获得时,我不必要地利用JavaScript库。 我保留了React UI,但删除了JavaScript状态管理。 解决方案涉及一个简单的CSS transition-delay
  6. 属性:
  7. 。事物 { 过渡:0.2s; } .thing:悬停{ 过渡 - 延迟:3s; / *仅延迟悬停动画,而不是关闭 */ }
  8. 这个优雅的单线完美地实现了所需的长期悬停效果。
这种方法并未完全解决触摸屏可访问性。当屏幕读取器处理可访问的文本和桌面用户时,只有触摸用户可能会错过图标标签。 假设光标可用性,我的项目针对大型屏幕,但触摸可访问性仍然是一个令人担忧的问题。 如果元素是一个链接,则

:Hover 可能会在初始点击上激活。 如果链接导致带有明确标题的页面,则可能会提供足够的上下文。 否则,用于触摸事件的JavaScript事件处理仍然是一个可行的选择。

最新教程 更多>
  • 如何使用node-mysql在单个查询中执行多个SQL语句?
    如何使用node-mysql在单个查询中执行多个SQL语句?
    Multi-Statement Query Support in Node-MySQLIn Node.js, the question arises when executing multiple SQL statements in a single query using the node-mys...
    编程 发布于2025-04-22
  • FastAPI自定义404页面创建指南
    FastAPI自定义404页面创建指南
    response = await call_next(request) if response.status_code == 404: return RedirectResponse("https://fastapi.tiangolo.com") else: ...
    编程 发布于2025-04-22
  • JavaScript计算两个日期之间天数的方法
    JavaScript计算两个日期之间天数的方法
    How to Calculate the Difference Between Dates in JavascriptAs you attempt to determine the difference between two dates in Javascript, consider this s...
    编程 发布于2025-04-22
  • 如何从Google API中检索最新的jQuery库?
    如何从Google API中检索最新的jQuery库?
    从Google APIS 问题中提供的jQuery URL是版本1.2.6。对于检索最新版本,以前有一种使用特定版本编号的替代方法,它是使用以下语法:获取最新版本:未压缩)While these legacy URLs still remain in use, it is recommended ...
    编程 发布于2025-04-22
  • 在Java中,`@SuppressWarnings("unchecked")`的含义及使用时机
    在Java中,`@SuppressWarnings("unchecked")`的含义及使用时机
    [pundresswarnings(“ untable”)在java 相关资源有关此主题的更全面信息,请参阅Java Generics FAQ,尤其是标题为“什么是“未被关注” Warning?”。 FAQ提供了对场景的有价值的见解,其中@suppresswarnings(“未检查”)是适当的,...
    编程 发布于2025-04-22
  • Python高效去除文本中HTML标签方法
    Python高效去除文本中HTML标签方法
    在Python中剥离HTML标签,以获取原始的文本表示Achieving Text-Only Extraction with Python's MLStripperTo streamline the stripping process, the Python standard librar...
    编程 发布于2025-04-22
  • 如何使用不同数量列的联合数据库表?
    如何使用不同数量列的联合数据库表?
    合并列数不同的表 当尝试合并列数不同的数据库表时,可能会遇到挑战。一种直接的方法是在列数较少的表中,为缺失的列追加空值。 例如,考虑两个表,表 A 和表 B,其中表 A 的列数多于表 B。为了合并这些表,同时处理表 B 中缺失的列,请按照以下步骤操作: 确定表 B 中缺失的列,并将它们添加到表的末...
    编程 发布于2025-04-22
  • Go语言垃圾回收如何处理切片内存?
    Go语言垃圾回收如何处理切片内存?
    Garbage Collection in Go Slices: A Detailed AnalysisIn Go, a slice is a dynamic array that references an underlying array.使用切片时,了解垃圾收集行为至关重要,以避免潜在的内存泄...
    编程 发布于2025-04-22
  • 将图片浮动到底部右侧并环绕文字的技巧
    将图片浮动到底部右侧并环绕文字的技巧
    在Web设计中围绕在Web设计中,有时可以将图像浮动到页面右下角,从而使文本围绕它缠绕。这可以在有效地展示图像的同时创建一个吸引人的视觉效果。 css位置在右下角,使用css float and clear properties: img { 浮点:对; ...
    编程 发布于2025-04-22
  • 如何处理PHP文件系统功能中的UTF-8文件名?
    如何处理PHP文件系统功能中的UTF-8文件名?
    在PHP的Filesystem functions中处理UTF-8 FileNames 在使用PHP的MKDIR函数中含有UTF-8字符的文件很多flusf-8字符时,您可能会在Windows Explorer中遇到comploreer grounder grounder grounder gro...
    编程 发布于2025-04-22
  • Java数组中元素位置查找技巧
    Java数组中元素位置查找技巧
    在Java数组中检索元素的位置 利用Java的反射API将数组转换为列表中,允许您使用indexof方法。 (primitives)(链接到Mishax的解决方案) 用于排序阵列的数组此方法此方法返回元素的索引,如果发现了元素的索引,或一个负值,指示应放置元素的插入点。
    编程 发布于2025-04-22
  • 如何在JavaScript对象中动态设置键?
    如何在JavaScript对象中动态设置键?
    在尝试为JavaScript对象创建动态键时,如何使用此Syntax jsObj['key' i] = 'example' 1;不工作。正确的方法采用方括号: jsobj ['key''i] ='example'1; 在JavaScript中,数组是一...
    编程 发布于2025-04-22
  • 图片在Chrome中为何仍有边框?`border: none;`无效解决方案
    图片在Chrome中为何仍有边框?`border: none;`无效解决方案
    在chrome 中删除一个频繁的问题时,在与Chrome and IE9中的图像一起工作时,遇到了一个频繁的问题。和“边境:无;”在CSS中。要解决此问题,请考虑以下方法: Chrome具有忽略“ border:none; none;”的已知错误,风格。要解决此问题,请使用以下CSS ID块创建带...
    编程 发布于2025-04-22
  • 可以在纯CS中将多个粘性元素彼此堆叠在一起吗?
    可以在纯CS中将多个粘性元素彼此堆叠在一起吗?
    [2这里: https://webthemez.com/demo/sticky-multi-header-scroll/index.html </main> <section> { display:grid; grid-template-...
    编程 发布于2025-04-22
  • JavaScript中如何动态访问全局变量?
    JavaScript中如何动态访问全局变量?
    在JavaScript 一种方法是使用窗口对象存储和检索变量。通过引用全局范围,可以使用其名称动态访问变量。 //一个脚本 var somevarname_10 = 20; //另一个脚本 window.all_vars = {}; window.all_vars ['somevarnam...
    编程 发布于2025-04-22

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3