可以将锚标记样式设置为块元素吗?

Is it OK to style anchor tags as block elements?

可以使用下面的 HTML 将锚点样式设置为块元素吗?我之前在某处读到它是错误的,但我不明白为什么而且它太方便了!如果有的话,这种方法有什么缺点?

<style>
a.button{
display:inline-block;
padding: 10px 20px;
border: 1px solid grey;
}
</style>

<a class="button" href="#link">Click me!</a>

<a> 元素不仅完全可以设置为块或内联块的样式,而且在某些情况下实际上是必要的,以避免某些问题。
拿这段代码:

a {outline:1px dotted}
Click <a href="#"><div>here</div></a>

在某些浏览器中,锚点周围的轮廓不是正确的矩形,因为里面有 div。在其他情况下,轮廓甚至根本不存在。如果您还将 a 的显示更改为 block,差异就会消失;它在所有浏览器中都有漂亮的矩形轮廓。

a {outline:1px dotted; display:block}
Click <a href="#"><div>here</div></a>

所以,不用担心。