【发布时间】:2017-07-17 22:26:41
【问题描述】:
我正在开发一个网络应用程序。我们还创造了可以被描述为内联编辑的东西。只是为了描绘我想要解决的问题,我使用 Facebook 帖子的示例。
你有喜欢的帖子。
史蒂夫·乔布斯添加了 5 张新照片
Steve Jobs 是一个链接,可以重定向到他的个人资料,所以在 HTML 中,这将是:
<div class="post-block">
<p><a href="stevejobs/" title="#">Steve Jobs</a> added 5 new photos.<p>
</div>
但我想要的是整个帖子“块”都是可点击的,尽管我只希望该名称看起来是链接。通常在 HTML 逻辑中会这样说:
<a href="stevejobs/" title="#"><div class="post-block">
<p><a href="stevejobs/" title="#">Steve Jobs</a> added 5 new photos.<p>
</div></a>
但这在语义上是不正确的。快速查看 HTML 4.01 或任何其他标准都会这样说:
A 元素定义的链接和锚点不能嵌套;一个A 元素不得包含任何其他 A 元素。
除了使用 javascript 和为整个“div 锚”定义 div:hover 状态之外,如何在语义上正确地创建它?
【问题讨论】:
-
嵌套的
a元素在 HTML 中是语法禁止的,因此它们没有分配语义。您似乎想要的是特定的功能。