欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

HTML 哪些元素不能有后代元素?编写时应注意哪些?

程序员文章站 2022-05-14 11:42:08
...
还有哪些元素有顺序要求?

对了 HTML5讲的是 内容类别 。

回复内容:

你说的这个叫做 void element:
w3.org/TR/html5/syntax.

HTML5 里面的 void element 是这些:
area, base, br, col, embed, hr, img, input, keygen, link, meta, param, source, track, wbr

void element 写的时候,只需要 open tag,不需要 close。

但是注意,你看到源码里面有的 tag 没有 close,不一定就是 void element,因为还有一个东西叫做 tag omission: 8 The HTML syntax 除了void element之外,你还问了哪些标签是必须按照顺序的,我举例几个:
html->head->body
table->thead->tbody->tr/td->tfoot
ul->li
dl->dt->dd
等等。。 在我的知识领域,只有单个标签的有这种限制,比如
HTML 哪些元素不能有后代元素?编写时应注意哪些?。至于注意事项,就两点:

1,别拼错标签名。之前见过一个问题,那哥们遇到了很奇葩的 HTML 问题,浏览器渲染多了很多空白,还到处问哪里出错了。其实是标签名写错了。

2,某些标签是没法相互嵌套的。比如:a 标签下面不能嵌套 a,form 标签里面不能嵌套 form。此外就是 inline 属性的标签不能嵌套 block 属性的标签。比如:span 包裹一个 p 标签。当然也有万能标签,a 虽然是 inline 属性,但是除了 a 之外,随便套。div 是 block 的万能套标签,span 是 inline 属性的无意义标签。如果你要用 html 结构模拟什么东西,最好就是用一大群的 span 来模拟,这样模拟出来的东西,无论放到 inline 还是 block 标签下面都 OK。 HTML标签还是蛮灵活的。至于哪些元素不能有后代元素,我也无法全部所全,这方面知识我想查阅W3C有关于HTML方面的规范会更全面,也更权威。我一般情况下行内元素标签不套块元素标签。 最近在把自家产品做改版
需要一套代码覆盖全部终端
需要屏幕阅读
需要盲操
才发现w3c真是目光高远啊
不考虑语义还是图样 不好意思,我不会这个问题~
因为我写的时候,都是无脑叠加div。除了文字,链接,控件,其他所有都是用div~
然后inline元素,基本不套div(也就是block元素),我的习惯就是,所有inline元素都是最里面的元素,我刚才尝试了下,好像td这种inline标签里嵌套div会出问题的。所以把所有的inline元素都放到black里面~ 终归不会出现什么问题把。

假如哪里错了,指出~ 谢谢。 说个跑题的
这个不必刻意记住 利用编辑器的代码提示 找个好用的ide 写的多了也就记住了
相关标签: HTML5