哪些元素可以嵌套在<dialog>元素中?</dialog>

时间:2014-12-17 08:43:51

标签: html html5 visual-studio-2013 dialog

<子> TL; DR

哪些元素可以嵌套在<dialog>元素中?


当我查看thisthisthis等示例时,他们都将<h3><p><button>等元素作为子项放置节点到<dialog>元素。

但是,Visual Studio(2013)intellisense仅列出以下元素:

  • 含量
  • DD
  • DT
  • 阴影
  • 模板

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
    <body>
        <dialog role="dialog">
            <content></content>
            <dd></dd>
            <dt></dt>
            <shadow></shadow>
            <template></template>
        </dialog>
    </body>
</html>

现在,如果我向<div>元素添加<dialog>元素

<dialog role="dialog">
    <div></div>
</dialog>

Visual Studio将投诉:

  

元素&#39; div&#39;不能嵌套在元素&#39;对话框中   
  div元素根本没有特殊含义。它代表了它的孩子。它可以与class,lang和title属性一起使用,以标记一组连续元素共有的语义。

我也看了W3 docs,但没有用。

所以我再问一遍:哪些元素可以嵌套在<dialog>元素中?

1 个答案:

答案 0 :(得分:2)

dialog元素不是任何已批准的规范(推荐)的一部分。最接近标准的是HTML 5.1草案,您引用该草案并说明允许任何flow content。这意味着您可以放在文档正文中的任何内容,当然包括div。 WHATWG“HTML Living Standard”description of dialog具有相同的内容模型。

Visual Studio显然有dialog

的想法

在任何情况下,browser support(或缺少)dialog目前使{{1}}相当无用,除非在实验和有限的上下文中(例如设计为在特定浏览器上运行的应用程序)。