小编典典

将div放入锚点是否正确?

html

我听说将block元素放入内联元素是HTML的罪过:

<a href="http://www.mydomain.com"><div>
What we have here is a problem. 
You see, an anchor element is an inline element,
and the div element is a block level element.
</div></a>

但是,如果您像display:block样式表那样设置外部锚点,该怎么办?还是错吗?关于块级和内联元素的HTML
4.01规范似乎是这样认为的:

样式表提供了一种方法来指定任意元素的呈现,包括将元素呈现为块还是内联。在某些情况下,例如列表元素的内联样式,这可能是适当的,但总的来说,不鼓励作者以这种方式覆盖HTML元素的常规解释。

有人对此问题有其他建议吗?


阅读 369

收藏
2020-05-10

共1个答案

小编典典

根据您要满足的HTML版本:

  • HTML 5 声明<a>元素“只要其中没有交互内容(例如按钮或其他链接),就可以包裹整个段落,列表,表格等,甚至整个节”。

  • HTML 4.01 指定<a>元素只能包含内联元素。A<div>是一个块元素,因此它可能不会出现在内<a>

当然,您可以随意设置一个内联元素的样式,使其看起来像是一个块,或者也可以对一个块进行样式化,以使其内联。在HTML中,术语inline和的使用是block指元素与文档语义结构的关系,而CSS中的相同术语则更多地与元素的视觉样式相关。如果使内联元素以块状显示,那很好。

但是,当不存在CSS时(例如,通过屏幕阅读器等辅助技术进行访问时,或者由强大的Googlebot进行检查时),您应该确保文档的结构仍然有意义。

2020-05-10