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

问题描述 投票:0回答:2

TL;博士

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


当我查看像 thisthisthis 这样的示例时,它们都将

<h3>
<p>
<button>
等元素放置为
<dialog>
元素的子节点。

但是,Visual Studio (2013) 智能感知仅列出以下元素:

  • 内容
  • 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 会抱怨:

元素“div”不能嵌套在元素“dialog”内。

div 元素根本没有特殊含义。它代表它的孩子。它可以与 class、lang 和 title 属性一起使用来标记一组连续元素共有的语义。

我也查看了W3文档但无济于事。

所以我再问:

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

html visual-studio-2013 dialog
2个回答
3
投票

dialog
元素不属于任何批准的规范(建议)。最接近标准的是 HTML 5.1 草案,您引用了该草案,其中表示允许任何“流内容”。这意味着几乎可以放入文档正文中的任何内容,当然包括div。 WHATWG“HTML 生活标准”
dialog
的描述具有相同的内容模型。
Visual Studio 显然有自己的想法

dialog


无论如何,

浏览器支持

(或缺乏)目前使得dialog毫无用处,除非在实验和有限的上下文中(例如设计为在特定浏览器上运行的应用程序)。

    


2
投票
<dialog>

确实在我们的浏览器中实现了生产就绪支持:

https://caniuse.com/dialog
并且根据 规范可以使用任何流程内容。

© www.soinside.com 2019 - 2024. All rights reserved.