我希望在复杂元素上有一个链接(包含图像,段落和其他内容)。
我知道它有效,但在<div>
元素中有一个<a>
元素是否可以?
答案 0 :(得分:6)
是......而且没有。
没有完整的HTML或XHTML推荐允许它。
HTML 5草案允许它,但您可能必须执行诸如在锚点上显式设置display: block
以使其在某些浏览器中工作的事情。您可能会发现其他人根本不支持它(我希望能够链接到显示浏览器支持的参考,但不知道,如果您这样做,请发表评论。)
尽管如此,虽然有很好的大点击目标可能很有用,但它并不是一种对某些浏览器(特别是屏幕阅读器)具有的“浏览链接模式”友好的方法。您可能最好在内容中使用常规链接,并应用一些JavaScript来响应整个元素的点击。
答案 1 :(得分:1)
在XHTML1.0和HTML4.01中:没有。 a
是一个内联元素,只能包含其他内联元素(但不包含其他a
)。
在HTML5中:是的,您可以这样做。 但是考虑为什么你会在一个链接中有数百个字符 对于SEO(我相信稀释)而且很多残疾用户都不好(“嘿嘿屏幕阅读器,请告诉我这个链接是做什么的?” - “让我大声朗读这个链接半分钟”)并且可能对可用性不利。
另一个解决方案是在你的div或者一些有意义的文字中说出你的标题链接。然后在JS中使你的div表现得像你最初想做的那样。然后,它将适用于使用辅助技术(屏幕阅读器等)的用户,键盘用户(他们可以通过链接选项卡)和使用JS的视力小鼠用户。
答案 2 :(得分:0)
不,除非你不关心IE7并且关闭。即使设置为display:block。
,该链接也无法在IE7中正常运行