0

我厌倦了单击标签时出现的虚线框......所以我开始用 p 标签替换它们......并为点击事件添加事件侦听器。

我不禁注意到其他热门网站不这样做(例如,当您单击在 SO 上发布您的问题时,会出现烦人的虚线框)

有什么好的理由不用 p 标签替换 a 标签。我不需要任何特殊的 a 标记属性……事实上,我必须在我的 JavaScript 中使用 preventDefault() 来阻止它们有时链接。

几乎可以消除 A 标签吗?

这是一个关于主要现代浏览器的问题。

我即将摆脱它们......而且我很偏执,我错过了一些东西,因为我看到它们几乎无处不在。

4

4 回答 4

11

不,这不行

不支持你的样式的浏览器需要锚标签,我只是在谈论旧版本的 IE。请记住,屏幕阅读器、纯文本用户和浏览器插件都希望找到您的锚标记。

正如 Dash 指出的那样,搜索引擎爬虫等机器人也需要您的锚标签才能跟踪它们并索引您的页面。

HTML 用于文档结构。CSS用于样式。保持这个原则很重要。

关于那个虚线框的注释......在那里显示对元素的关注。不是每个人都使用你知道的鼠标。有些人更喜欢用键盘浏览文档,而焦点框有助于实现这一点。即使您成功地使用 CSS 删除它......请不要。

于 2012-07-15T21:43:38.620 回答
2

不要这样做,因为 html 语义。例如,屏幕阅读器和搜索引擎可能无法跟踪您的链接。

于 2012-07-15T21:46:00.977 回答
0

如果您不希望按钮和链接在被点击后周围有一个虚线框,只需添加一个使元素模糊的侦听器:

<a href="..." onclick="this.blur();">Look ma, no dots</a>

还有一个 CSS 属性可以设置为没有点,但我不记得了。搜索或查看 Mozilla 默认样式表。

于 2012-07-16T00:17:54.193 回答
-1

我有点不同意其他两位评论者。虽然它确实会破坏屏幕阅读器并且通常不向后兼容......

如果您有一个不关心上述任何内容的特定用例,那么……这是您的项目。:)

你也可以通过将以下内容添加到 CSS 中来实现这一点并保留锚标签:

a 
{
text-decoration: none; 
}
于 2012-07-15T22:41:11.680 回答