TL;博士
<dialog>
元素中可以嵌套哪些元素?
当我查看像 this、this 和 this 这样的示例时,它们都将
<h3>
、<p>
和 <button>
等元素放置为 <dialog>
元素的子节点。
但是,Visual Studio (2013) 智能感知仅列出以下元素:
<!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>
元素内可以嵌套哪些元素?
dialog
元素不属于任何批准的规范(建议)。最接近标准的是 HTML 5.1 草案,您引用了该草案,其中表示允许任何“流内容”。这意味着几乎可以放入文档正文中的任何内容,当然包括div
。 WHATWG“HTML 生活标准”dialog
的描述具有相同的内容模型。Visual Studio 显然有自己的想法
dialog
。
无论如何,浏览器支持
(或缺乏)目前使得dialog
毫无用处,除非在实验和有限的上下文中(例如设计为在特定浏览器上运行的应用程序)。