【发布时间】:2017-01-15 04:04:25
【问题描述】:
请使用 a) Firefox 和 b) Chrome 检查 this codepen。进行如下操作:
- 在链接上移动鼠标
- 点击链接后鼠标光标不要移动
- 等待页面重新加载。
如果你没有移动鼠标光标,页面重新加载后它仍然会在链接上方。
Firefox 现在将应用 :hover 样式。
Chrome (Mac OS X) 将以非悬停状态显示元素(这是我在我的场景中更喜欢的)。
这里有没有人知道哪个浏览器做得对,以及如何让一个浏览器模仿另一个浏览器的行为?
对于我目前的情况,我想知道如何避免在页面重新加载后直接触发:hover。如果我不得不为此求助于 Javascript,我会很不高兴。
为了完整起见,这里是演示的代码:
<a href="https://codepen.io/connexo/pen/pEJbqj" target="_top">This Codepen</a>
a {
color: #333;
background-color: #ddd;
display: inline-block;
line-height: 40px;
padding: 20px;
text-decoration: none;
transition-duration: .4s;
&:before {
content: "non-hovered";
}
&:hover {
background-color: #a00;
color: white;
&:before {
content: "hovered state";
}
}
}
编辑:正如我的一位同事刚刚告诉我的,Chrome 似乎只在 OS X 上以所述方式运行,而在 Windows 上则不然。有人可以详细说明整个问题吗?
【问题讨论】:
-
我可能做错了,但在 FF 48.0.1 上,只要我悬停,样式就会被应用(在过渡时间之后),并且单击链接不会重新加载页面