使用 CSS 伪类的attr() 展示 tooltip

效果图:

使用场景: 使用React渲染后台返回的数据, 遍历以列表的形式展示, 可能简要字段内容需要鼠标放上去才显示的

可以借助DOM的自定义属性和CSS伪类的attr来实现

所有代码:

html 复制代码
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      li {
        list-style: none;
        position: relative;
      }

      li::before {
        /* attr函数, 参数就是li标签身上的属性 */
        content: attr(tip);
        position: absolute;
        right: 0;
        opacity: 0;
        color: burlywood;
        transition: opacity 500ms;
      }

      li:hover::before {
        opacity: 1;
      }
    </style>
  </head>
  <body>
    <div class="list">
      <li tip="list-item-1-tip">list-item-1</li>
      <li tip="list-item-2-tip">list-item-2</li>
      <li tip="list-item-3-tip">list-item-3</li>
    </div>
  </body>
</html>
相关推荐
我命由我123452 分钟前
CesiumJS 笔记 - 获取容器中心点、Cartesian3 clone 方法、修改 Cartesian3 对象的高度
前端·javascript·css·前端框架·html·html5·js
Hopebearer_1 小时前
页面突然只剩 DOM?一次静态资源版本错配排查
前端·部署
抱抱宝1 小时前
Agent-study项目教程(03):手写 Mini-ReAct Agent(不依赖框架)
javascript·人工智能·gpt·react.js·prompt·agent
东风破_2 小时前
ESLint 是什么?为什么你的项目需要它?
前端·后端·代码规范
用户938515635072 小时前
Next.js 笔记系统(二):Redis 数据服务与侧边栏组件拆分实战
javascript·全栈
圣殿骑士-Khtangc3 小时前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang
BigTopOne4 小时前
【ijkplayer】 硬解码流程
前端
kyriewen4 小时前
DeepSeek Harness开源第一天我就上手了——和Claude Code的差距比想象中大
前端·ai编程·deepseek
捡田螺的小男孩5 小时前
什么是 Skill?手把手带你写一个简单有用的 Skill!
前端·后端·程序员
IT_陈寒5 小时前
Redis集群这个坑,差点让我通宵
前端·人工智能·后端