我想创建像这样的东西
<menu>
<lunch>
<dish>aaa</dish>
<dish>bbb</dish>
</lunch>
<dinner>
<dish>ccc</dish>
</dinner>
</menu>
它可以在HTML5中完成吗?我知道我能做到
<ul id="menu">
<li>
<ul id="lunch">
<li class="dish">aaa</li>
<li class="dish">bbb</li>
</ul>
</li>
<li>
<ul id="dinner">
<li class="dish">ccc</li>
</ul>
</li>
</ul>
但它的可读性要差得多:
发布于 2010-05-11 09:05:42
我对这些答案不是很确定。正如我刚刚读到的:“在HTML中总是允许使用自定义标记。”
http://www.crockford.com/html/
这里的重点是,HTML是基于SGML的。与具有文档类型和模式的XML不同,即使浏览器不知道一两个标记,HTML也不会变得无效。想想吧。这还没有出现在官方标准中。因此,虽然使用它会使您的HTML页面“正式未经批准”,但它也不会破坏页面。
然后是特定于Netscape的,在HTML4中被遗忘,现在在HTML5中被重新发现和指定。我们现在还有自定义标记属性,比如data-XyZzz="...“在所有HTML5标记上都允许。
因此,虽然您不应该自己发明一个完整的自定义未指定标记沙拉,但在HTML中使用自定义标记并不是完全禁止的。但是,除非您想将其与+xml Content-Type一起发送,或者嵌入其他XML名称空间,如SVG或MathML。这仅适用于SGML限制的HTML。
发布于 2010-05-10 20:57:25
在HTML中创建您自己的标记名是不可能的/无效的。这就是XML、SGML和其他通用标记语言的用途。
你可能想要的是
<div id="menu">
<div id="lunch">
<span class="dish">aaa</span>
<span class="dish">bbb</span>
</div>
<div id="dinner">
<span class="dish">ccc</span>
</div>
</div>
或者用<ul/>
和<li/>
之类的东西代替<div/>
和<span/>
。
为了让它看起来和功能正确,只需连接一些CSS和Javascript即可。
发布于 2011-03-18 03:52:36
自定义标记可以在Safari、Chrome、Opera和Firefox中使用,至少在使用它们来代替"class=...“时是这样。去吧。
css中的绿色{color: green}适用于
<green>This is some text.</green>
https://stackoverflow.com/questions/2802687
复制相似问题