是O.K消除'a'标签?

时间:2012-07-15 21:41:42

标签: javascript html css

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

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

有没有充分的理由不用p标签替换标签。我不需要任何特殊的标签属性......实际上我必须在我的JavaScript中使用preventDefault()来阻止它们连接一些时间。

O.K几乎消除了A标签吗?

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

我即将摆脱他们......而且是偏执狂我错过了一些东西,因为我看到他们几乎到处都在使用它们。

4 个答案:

答案 0 :(得分:11)

不,这是好。

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

正如Dash指出的那样,搜索引擎抓取工具等机器人也需要您的锚标签才能跟踪它们并为您的网页编制索引。

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

关于那个虚线框的注释......那里是关注一个元素。不是每个人都使用你知道的鼠标。有些人喜欢用键盘标记文档,而焦点框有助于此。即使您成功使用CSS删除它,也请不要。

答案 1 :(得分:2)

由于html语义,不要这样做。例如,屏幕阅读器和搜索引擎可能无法关注您的链接。

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:-1)

我不同意其他两位评论者。虽然它确实会打破屏幕阅读器而不是向后兼容......

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

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

a 
{
text-decoration: none; 
}