使用 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>
相关推荐
GinoWi12 分钟前
HTML基本格式 - 第一个HTML网页
前端
顶鲜花的牛粪16 分钟前
Astro 项目升级全栈:EdgeOne Pages 部署指南
前端
0***R51527 分钟前
前端云原生
前端·云原生
月弦笙音37 分钟前
【Promise.withResolvers】发现这个api还挺有用
前端·javascript·typescript
疯狂踩坑人38 分钟前
MCP理论和实战,然后做个MCP脚手架吧
前端·node.js·mcp
中杯可乐多加冰43 分钟前
基于 DeepSeek + MateChat 的证券智能投顾技术实践:打造金融领域的专属大Q模型助手
前端·人工智能
凡人程序员43 分钟前
搭建简易版monorepo + turborepo
前端·javascript
丸子哥哥44 分钟前
同一个域名,如何添加多个网站?
服务器·前端·nginx·微服务
不努力也不会混44 分钟前
vite联邦实现微前端(vite-plugin-federation)
前端·vue.js
伍亿伍千万1 小时前
Uptime Kuma修改作为内嵌页面的自适应
前端