为什么可以';我看不到HTML5<;对话框>;?
这是我的Facelets文件:为什么可以';我看不到HTML5<;对话框>;?,html,jsf,facelets,Html,Jsf,Facelets,这是我的Facelets文件: <!DOCTYPE html> <html lang="en" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"> <h:head> <title>Simple JSF Facelets page</title> </h:head> <h:body
<!DOCTYPE html>
<html lang="en"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Simple JSF Facelets page</title>
</h:head>
<h:body>
Place your content here!
<dialog>
<dt>Sam</dt>
<dd>Knock, Knock.</dd>
<dt>Eric</dt>
<dd>Who's there?</dd>
<dt>Sam</dt>
<dd>Justin.</dd>
<dt>Eric</dt>
<dd>Justin who?</dd>
<dt>Sam</dt>
<dd>Justin time for dinner!</dd>
</dialog>
</h:body>
</html>
简单JSF Facelets页面
把你的内容放在这里!
山姆
敲门,敲门。
埃里克
谁在那儿?
山姆
贾斯廷。
埃里克
贾斯汀是谁?
山姆
贾斯汀该吃晚饭了!
我在浏览器中看到的只是
把你的内容放在这里
当我检查此文件的源代码时,我在chrome中看到:
<!DOCTYPE html>
<html lang="en"><head>
<title>Simple JSF Facelets page</title></head><body>
Place your content here!
<dialog>
<dt>Sam</dt>
<dd>Knock, Knock.</dd>
<dt>Eric</dt>
<dd>Who's there?</dd>
<dt>Sam</dt>
<dd>Justin.</dd>
<dt>Eric</dt>
<dd>Justin who?</dd>
<dt>Sam</dt>
<dd>Justin time for dinner!</dd>
</dialog>
<ul id="javax_faces_developmentstage_messages" title="Project Stage[Development]: Unhandled Messages"></ul></body>
</html>
简单JSF Facelets页面
把你的内容放在这里!
山姆
敲门,敲门。
埃里克
谁在那儿?
山姆
贾斯廷。
埃里克
贾斯汀是谁?
山姆
贾斯汀该吃晚饭了!
那么,从源代码来看,它应该是一个有效的html5文件?但目前,我看不到对话框标签中应该包含的内容 我以前从未使用过
对话框
选项卡,但在检查了Chrome内置的DOM和样式之后,似乎默认情况下元素设置为显示:无代码>
dialog:not([open]){ display: none; }
dialog:not([open]){ display: none; }
因此,要在页面上显示它,您需要设置样式
dialog{ display: block; }
更新
此外,您还可以使用对话框
元素上的打开
属性
<dialog open>....</dialog>
<dialog open>....</dialog>
。。。。
使用对话框
元素上的打开
属性
<dialog open>....</dialog>
<dialog open>....</dialog>
另外请注意,目前并非所有浏览器都提供此功能。例如,它需要铬合金chrome://flags/#enable-要启用的实验性web平台功能
(这是经过大量编辑的Tim B James answer版本)。您使用的浏览器是什么?@TimBJames Chrome,最新版本。我还将这个源代码复制到了一个.html文件中,并打开了它,但仍然没有区别。我可以在线看到HTML5的内容。似乎h:body
没有呈现,因为中没有
标记HTML@amphibient就在几年前,HTML5中曾经定义了
元素。最近,它被定义为“dialog元素表示用户与之交互以执行任务的应用程序的一部分,例如对话框、检查器或窗口”。因此,您不应该使用它以当前的方式标记聊天。回答得很好,谢谢。成功了。但是,当我尝试时,我得到了以下错误:error Parsing/index.xhtml:error tracked[line:13]与元素类型“dialog”关联的属性名称“open”必须后跟“=”字符。此外,对话框{display:block;}不起作用。我需要给它分配一个类,然后对该类应用样式。对不起,错误信息。对话框{display:block;}工作,只有IntelliJ对此进行投诉。浏览器很好用。是的,你也可以通过类添加显示
样式。或者我假设它是open=“open”
对话框元素被记录在-1中,因为它没有解释标记的含义,并且在“正确”的解决方案之前给出了一个糟糕的解决方案。