【发布时间】:2018-09-22 20:22:25
【问题描述】:
我有一个包含在链接标签中的 div,当你在 Chrome 中使用 tab 键时,它看起来像这样:
我知道这是一个小小的不满,但有什么办法可以摆脱顶部的“露头”,我认为这是 Chrome 概述了 HTML 的链接部分。但我想在图像部分周围保留默认的 Chrome 蓝色轮廓。
这是一个简化的测试用例:
HTML:
<html>
<body>
<a href='tree.com'>
<div class='card'>
<img src='https://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Ash_Tree_- _geograph.org.uk_-_590710.jpg/220px-Ash_Tree_-_geograph.org.uk_-_590710.jpg'/>
</div>
</a>
</body>
</html>
CSS:
.card
{
display: inline-block;
border-radius: 5px;
width: 250px;
margin: 5px;
vertical-align: top;
text-align: left;
}
.card img
{
width: 250px;
height: 250px;
}
JSFiddle:
http://jsfiddle.net/mLfkvuyw/26/
添加以下内容也会从图像(以及所有子元素)中删除默认的 Chrome 轮廓,这是我不想要的:
a:focus
{ outline: none; }
【问题讨论】:
-
@dippas 示例代码不起作用......正如我在问题中所说,我不想从 img 部分删除默认轮廓。
a:focus{outline:none}删除所有子元素的轮廓 -
将
display: inline-block添加到链接本身将起作用,这对于您的用例可能是也可能不是可接受的解决方案。 (jsfiddle.net/mLfkvuyw/34) -
另一种选择是将大纲移动到 div 而不是链接,但这需要了解 chrome 的默认大纲样式,这可能会更改/不匹配其他浏览器,因此 IMO 这是一个更糟糕的选择:jsfiddle.net/mLfkvuyw/51
标签: html css google-chrome