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

原创
2016-06-07 08:42:22 1066浏览

还有哪些元素有顺序要求?

对了 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
等等。。 在我的知识领域,只有单个标签的有这种限制,比如
。至于注意事项,就两点:

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 写的多了也就记住了
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。