经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » CSS » 查看文章
使用CSS content的attr实现鼠标悬浮提示(tooltip)效果_CSS教程_CSS
来源:jb51  时间:2018/10/12 9:24:23  对本文有异议

为什么实现这种效果呢,其实这效果也是根据title的提示说明衍生出来的,只是因为原生的比较丑陋,像这种衍生出的插件后很多种,如jquery-ui的tooltip,Bootstrap的tooltips等等,有很多种插件库。

有时候我们不需要那么大的插件库,其实就一两个地方需要做一些提示(tooltip),所以可以使用CSS的content属性与 :before 及 :after 伪元素配合使用来实现插入生成内容。

查看效果如下

html代码如下

  1. <a class="dui-tips" data-tooltip="我是一个3cbest.com提示">w3cbest.com</a>

“data-“为自定义属性,如上自定义提示data-tooltip=”我是一个3cbest.com提示”,配合before、after使用content的attr调用自定义提示,content: attr(data-tooltip);

content: attr很好理解,只要会jq的.attr()就知道什么意思了,本例的content: attr就是获取data-tooltip里面的值

CSS代码

  1. .dui-tips {
  2. position: relative;
  3. display: inline-block;
  4. cursor: pointer;
  5. }
  6. .dui-tips[data-tooltip]:after,
  7. .dui-tips[data-tooltip]:before {
  8. visibility: hidden;
  9. position: absolute;
  10. top: 50%;
  11. left: 100%;
  12. transition: all .3s;
  13. }
  14. .dui-tips[data-tooltip]:after {
  15. content: attr(data-tooltip);
  16. transform: translate(-5px, -50%);
  17. white-space: pre;
  18. padding: 5px 10px;
  19. background-color: rgba(0, 0, 0, 0);
  20. color: rgba(255, 255, 255, 0);
  21. }
  22. .dui-tips[data-tooltip]:before {
  23. content: '';
  24. height: 0;
  25. width: 0;
  26. transform: translate(-10px, -50%);
  27. border-width: 5px 5px 5px 0;
  28. border-style: solid;
  29. border-color: transparent rgba(0, 0, 0, 0) transparent transparent;
  30. }
  31. .dui-tips:hover:after,.dui-tips:hover:before {
  32. transition: all .3s;
  33. visibility: visible;
  34. }
  35. .dui-tips:hover:after {
  36. color: rgba(255, 255, 255, 1);
  37. background-color: rgba(0, 0, 0, 0.8);
  38. transform: translate(5px, -50%);
  39. }
  40. .dui-tips:hover:before {
  41. border-color: transparent rgba(0, 0, 0, 0.8) transparent transparent;
  42. transform: translate(0px, -50%);
  43. }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号