<分区>
我想要一个包含图像和一些文本的 div 作为链接。这样就可以单击 div 中的任何位置(不一定是图像或文本)并将其带到一个位置。但是,我还希望在文本末尾有另一个链接,将用户带到另一个位置。但是,一旦我添加了第二个链接,整个 div 就不再是一个链接,只有图像和文本才是链接。我想做的事可行吗?
<分区>
我想要一个包含图像和一些文本的 div 作为链接。这样就可以单击 div 中的任何位置(不一定是图像或文本)并将其带到一个位置。但是,我还希望在文本末尾有另一个链接,将用户带到另一个位置。但是,一旦我添加了第二个链接,整个 div 就不再是一个链接,只有图像和文本才是链接。我想做的事可行吗?
最佳答案
这在 HTML 中是不可能的,因为 a
a
中的元素元素是不允许的。根据现有的 HTML 规范,您不能有例如 div
里面a
要么,但是这个限制从来没有真正被浏览器强制执行,它已经在 HTML5 草案中被取消了。嵌套 a
元素是一个不同的问题,因为它会在事件中创建事件区域,并且需要定义其含义并且会造成混淆。
实际使用时会发生什么
<a href=foo>bla bla <a href=bar>inner link</a> stuff</a>
除了外部 a
的内容外,它是否按照您想要的方式工作?内部元素之后 a
元素根本不是链接。显然浏览器不准备处理这样的结构。实际上,它们意味着结束 </a>
当他们遇到 <a>
时标记当 a
时标记元素是开放的。就像他们为 p
做的一样元素。
因此链接末尾的内部链接可以起到一定的作用。当然不能保证它在未来版本的浏览器中继续工作,或者它在所有浏览器上工作。
您可以使用两个独立的、非嵌套的 a
元素并使用 CSS 定位将第二个元素可视化地放置在第一个元素内。但这会变得有些复杂。一种更简单的方法是设置 JavaScript 伪链接:
<span onclick="document.location.href = 'foo'; return false">inner link</span>
缺点是当 JavaScript 被禁用时,它不会以类似链接的方式运行,搜索引擎也不会将其视为链接。
关于html - div 链接内的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13437785/