这是我的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>
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>
我在浏览器中看到的只是
将您的内容放在这里!
当我检查此文件的来源时,我会看到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>
那么,从源代码来看,它看起来应该是一个有效的html5文件?但是目前,我看不到对话框标签中的内容?
答案 0 :(得分:9)
之前我从未使用过dialog
标签,但在检查Chrome内置的DOM和样式后,似乎默认情况下该元素设置为display: none;
dialog:not([open]){ display: none; }
因此,要在您的页面上显示此内容,您需要设置样式;
dialog{ display: block; }
<强>更新强>
此外,您可以使用open
元素
dialog
属性
<dialog open>....</dialog>
答案 1 :(得分:2)
使用open
元素
dialog
属性
<dialog open>....</dialog>
默认情况下,该元素设置为display: none;
dialog:not([open]){ display: none; }
另请注意,此功能目前并非在所有浏览器中都可用。例如。在Chrome中,它需要启用chrome:// flags / #enable-experimental-web-platform-features。
(这是Tim B James回答的经过大量编辑的版本)。