1

对此可能没有直接的解决方案,但是欢迎任何有关解决方法的建议或指向此问题/行为的某些文档的指针。

场景:如果我应用自定义焦点 CSS 样式,例如:

:focus {outline: 2px auto green; }

问题:即使焦点移开后,部分大纲仍显示在先前活动的链接上。

在屏幕截图中,最后一个带有绿色轮廓的链接是当前活动的元素。周围带有小绿线的其余链接仅在以前处于活动状态。

在此处输入图像描述

这些剩余的轮廓位会在几秒钟后自行消失,或者当您将鼠标拖到它们上方时(或以其他方式干扰页面的该区域)。

上下文:我正在开发可访问性的 chrome 扩展,我需要为活动元素设置显式样式。我希望使用 outline-style:auto 的原因是 1)应用除 auto 之外的任何其他样式(如“solid”、“dotted”等)会产生另一个问题,并且 2)看起来更好。

我知道其他浏览器不支持 outline-style:auto 。

使用 Chrome 27。

4

2 回答 2

0

您可以检查是否设置了轮廓偏移。

我有一个类似的问题,我正在使用 Bootstrap 并且它正在设置:

a:focus {outline-offset: -2px;}

听起来你不是在使用 Bootstrap,但也许你正在发生类似的事情。我把它改回默认值:

a:focus {outline-offset: 0px;}

这似乎对我有用。希望这可以帮助!

(警告,IE 不支持轮廓偏移:http: //www.w3schools.com/cssref/css3_pr_outline-offset.asp

于 2014-07-23T14:11:40.797 回答
0

I had the same issue. In my case, I set an outline and a box shadow. Both seemed to stick to the element.

When I added the outline, I also set the box position to "relative" to make it stand out. For some reason that I can't explain, giving the box a z-index of 1 (bringing it forward) when I set the position to relative completely fixed this issue for me.

于 2015-02-05T23:06:01.197 回答