我有一个锚标记,它有以下样式:
a {
color: #E91E63;
&:focus,
&:hover {
color: #2196F3;
}
}
当我使用右键单击并选择在新标签页中打开链接打开此链接时,链接会保持焦点状态颜色。我希望如果链接没有保持专注并返回默认颜色#E91E63
。
我可以将焦点样式设置为#E91E63
,但我希望当用户点按链接时,移动设备为#2196F3
。
这是一个JSFiddle:https://jsfiddle.net/todkLvfp/
无论如何都要删除此焦点状态或重置颜色而不使用JS?
答案 0 :(得分:2)
a {
&:link,
&:visited {
color: #E91E63;
}
&:hover {
color: #2196F3;
}
}
使用此样式。在新标签中打开链接后,颜色将重置为正常。
答案 1 :(得分:0)
您应该使用:active
代替:focus
。锚点标记在被点击时处于活动状态,但在释放鼠标按钮时会返回到原始状态。
a, a:visited {
color: #E91E63;
}
a:hover, a:active {
color: #2196F3;
}
答案 2 :(得分:0)
解决方案是将:not
与!important
一起使用
a {
&:not(:hover),
&:not(:focus) {
color: #E91E63 !important;
}
&:focus,
&:hover {
color: #2196F3;
}
}
答案 3 :(得分:-1)
我确定JS是必需的。除了通过TAB浏览您的网页并希望更改焦点的用户以外,上述解决方案(主动而不是关注)是好的。 BTW-页面刷新是焦点元素仍然有效的另一种情况。我使用具有相同焦点/活动/悬停效果的类似按钮的元素来进行此操作,并且我注意到在刷新页面后仍保留了焦点按钮,这使我回到了“原始状态”。不仅焦点元素引起误解(不是主页按钮),而且在悬停的任何其他按钮上我都得到了第二个突出显示效果,直到单击了使事物恢复同步的东西。