看到一个新颖的链接样式,代码如下:
<!DOCTYPE html> <meta charset="UTF-8"> <style> a{ display: inline-block; position: relative; font-size: 2em; text-decoration: none; padding: 6px 0; color: rgba(0,0,0,.2); border-top: 3px solid rgba(0,0,0,.2); } a::before{ display: block; content: attr(data-hover); text-align: left; position: absolute; color: black; top: 0; left: 0; overflow: hidden; padding: 6px 0; max-width: 0; border-bottom: 3px solid black; transition: max-width 0.5s; } a:hover::before{ max-width: 100%; } </style> <a herf="#" data-hover="LADYMANA">LADYMANA</a> <a herf="#" data-hover="中文字体">中文字体</a>
出现的问题:
1.中文字所在的伪元素的高度不固定,需要指定高度(height: 1em);
2.中文字体会出现闪烁的现象,如下图:
希望回答叙述的详细点,本人刚接触这方面。
每个浏览器都是这样吗?
chrome和firefox都会出现这种情况
@carryme15: 我也实验了一下,确实都这样,我去找了点资料,说:data是自定义属性,一般只使用与英文字符是不会出现bug,中文字符就会出现bug,需要用样式来限制它。
@爱吃的馒头: 带闪烁,效果不完美。有一点很奇怪,第一个汉字是会一点一点出现的,但是后面的汉字只会一个一个出现。
@carryme15: 这就是中文字符的bug,我还没找到解决的办法,抱歉啦!
你可以试一试其他浏览器,有可能是浏览器 不兼容,也有可能是你的代码某个地方写错了仔细检查一下。
transition: max-width 0.5s;你可以用一些其他的动画,这个动画会影响的中文划过