前段时间因为项目框架需要 要写一个鼠标移到元素上面进行提示的小控件,支持左右上下 当时第一想法是用定位+js,可是用上了js感觉可用性就不太好,就想着能不能只用css,可是到最后上下左右定位问题只需加上class名可进行实现 为了不写多余的标签使用了伪元素,可是问题来了 伪元素里面的content的值(一直以为在css是不可变的)是个问题,因为其他项目的耽搁所以这事就耽误下来了,后来闲暇时又去网上看了下 才发现已经有人做出类似的效果而且伪元素里面的值也可以进行变动,本以为用是js 但是人家居然用的是css全部搞定了.
所以看了下人家的源码 才发现这段有趣的代码
[data-hint]:after{content:attr(data-hint);}
<pre name="code" class="html"><!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8" />
<title></title>
<style>
div:after{content:"[line " attr(title) "]";}
</style>
</head>
<body>
<div title=123></div>
</body>
</html>
顿时一阵的无语,看来也是自己学艺不精呀! 引以为戒
而需要注意的是:
- 在CSS2.1中attr()总是返回一个字符串。在CSS3中attr()可以返回多种不同的类型。
参考:https://github.com/chinchang/hint.css