我正在制作一个基于 ul 的水平导航栏,但我想在每个项目中有两个级别的标题,有点像这样:
Nav item1 Nav item2 Nav item3
Nav item1 subtitle Nav item2 subtitle Nav item3 subtitle
副标题的风格必须与主导航项目不同。我首先(天真地?)通过使用嵌套在 li 中的 ap 来做到这一点,但W3C说我不能将 ap 嵌套在 li 中。
基本上,我试图避免使用 br,主要是因为这不是正确的语义,是吗?我会以错误的方式解决这个问题吗?
编辑:我应该添加,我想要导航项目和它的副标题在同一个锚标签中,因为它们是一个链接(我想要 a:hover 工作)。我认为这排除了在 li 中使用多个标题标签。
编辑2:答案很有用,谢谢。需要注意的一件有趣的事情 - 虽然有人说块跨度 == div,但这不是 W3C 验证器看到它的方式。即使跨度的显示:块,您始终可以将跨度嵌套在锚点内,但您不能例如在锚点内有显示:内联 h1,因为验证器不会同时检查 CSS 和 HTML 文件。