我想要一种使块级HTML标签像<a>
标签一样的方式。
我已经使用React和React-Router一段时间了,并且倾向于将<div>
用于很多组件。因为我将锚定标记包装在块级标记(例如<div>
)中不是有效的HTML,所以无法在应用程序中添加浏览器已知的链接。
我的一个主意是将所有组件编写为<span>
。可悲的是,这不是我想要的解决方案,因为我也不控制HTML 3rd Party组件。
如何使它成为div
或任何其他块级标记,就像锚标记一样,其中悬停显示浏览器底部的链接[CTRL] [LEFT_CLICK]和[MIDDLE_CLICK]打开一个新标签,然后单击更改路线?
不需要React解决方案。
答案 0 :(得分:0)
我会建议两种方法
使用少量JavaScript
<div onclick="location.href='http://www.thelink.com';" style="cursor:pointer;"></div>
让<a>
像div一样
a {
display: block;
}
您可以设置其他内容,例如高度和宽度。
希望这会有所帮助。
答案 1 :(得分:0)
如果有必要,您应该使用<a>
而不是<div>
。
虽然过去不是这种情况,但HTML5允许您将锚点标签包裹在块级元素周围: https://stackoverflow.com/a/1828032/1624862
虽然仍然有一些限制。如果将<a>
包装在<span>
中,则必须在其中包含内联元素。只有在<a>
中也包含块级元素时,才允许使用块级元素。
答案 2 :(得分:0)
您不能将锚标签包裹在div周围,反之亦然也无济于事。
链接请查看下面的代码沙箱链接。 https://codesandbox.io/s/9z5y52mk8w