美文网首页
a 标签为什么能够包含块级元素

a 标签为什么能够包含块级元素

作者: agamgn | 来源:发表于2020-01-19 09:19 被阅读0次

前言

 a标签按照以往的标准,他属于内联元素,不应该包含块级元素,但是他又是可以包含的, 这是为什么呢?
 按新的 HTML 规范,已经不按 inline 和 block 来区分元素类型了。

原因

 在规范中每个元素会规定如下两项:

  • Categories
  • Content Model
    Categories 是改元素本身的分类,content model 规定了合法的元素的内容(子元素、文本等)类型。
    <meta charset="utf-8">

a 元素的 content model 为 transparent

Some elements are described as transparent; they have "transparent" in the description of their content model. The content model of a transparent element is derived from the content model of its parent element: the elements required in the part of the content model that is "transparent" are the same elements as required in the part of the content model of the parent of the transparent element in which the transparent element finds itself.

 大意就是这类元素本身内部可以有任何类型的内容,是否合法要看其父元素的 content model 和其内容的 categories。

 比如我们要看 p > ins > a > div 是否合法,过程是这样的:

  • p 元素的 content model 是 phrasing content,ins 本身属于 phrasing content 故可以嵌套;
  • ins 元素的 content model 是 transparent,故在此时里面是否能有 a 需检查 p > a 的合法性;
  • a 元素也属于 phrasing content,故 p > ins > a 合法;
  • a 元素的 content model 也是 transparent,故此时里面包含 div 的合法性向上传递,检查 ins > div 又向上传递,变成检查 p > div;
  • div 不属于 phrasing content,所以这个嵌套是不合法的。

总结

 对于各种新标准,还是需要了解的

相关文章

  • a 标签为什么能够包含块级元素

    前言  a标签按照以往的标准,他属于内联元素,不应该包含块级元素,但是他又是可以包含的, 这是为什么呢? 按新的 ...

  • 你造吗?HTML 不能这么写

    目录 a标签不可以嵌套交互式元素 块级元素可以包含内联元素和某些块级元素,内联元素不能包含块级元素,只能包含内联元...

  • 企业级规范

    html标签企业级规范 一、 块级元素与块级元素平级,内嵌元素与内嵌元素平级 二、块元素可以包含行内元素或者某些块...

  • CSS基础回顾

    行内元素:只占据对应标签边框所包含的空间(如span) 块级元素:占据父元素整个空间。(如div,p) 块级元素和...

  • css学习笔记之常见样式

    1 块级元素 和 行内元素区别 1 差异 块级元素可以包含行内元素和块级元素 行内元素只能包含文本和行内元素 块级...

  • 6. CSS常见样式

    知识 块级元素和行内元素 特性区别 由图可知: 块级元素可以包含块级元素和行内元素,而行内元素只能包含行内元素和文...

  • 任务八-主线

    CSS常见属性(上) 块级元素行内元素块级可以包含块级和行内元素,行内只能包含文本和行内元素块级元素占据一整行的空...

  • 标签嵌套规则及HTML转义

    1.标签嵌套规则 1>有些标签是固定的嵌套规则,比如ul包含li、ol包含li、dl包含dt和dd。 2>块级元素...

  • 任务8——CSS常见样式

    1.块级元素和行内元素分别有哪些? 区别1块级元素可以包含块级元素和行内元素;行内元素只能包含文本和行内元素 区别...

  • CSS基础样式

    CSS基础样式 块级元素可以包含块级元素和行内元素 行内元素只可以包含文本和行内元素 宽高只对块级元素生效,对行内...

网友评论

      本文标题:a 标签为什么能够包含块级元素

      本文链接:https://www.haomeiwen.com/subject/cfeiactx.html