首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有没有办法在HTML5中创建你自己的html标签?

有没有办法在HTML5中创建你自己的html标签?
EN

Stack Overflow用户
提问于 2010-05-10 20:50:16
回答 15查看 104.4K关注 0票数 126

我想创建像这样的东西

代码语言:javascript
复制
<menu>
    <lunch>
        <dish>aaa</dish>
        <dish>bbb</dish>
    </lunch>
    <dinner>
        <dish>ccc</dish>
    </dinner>
</menu>

它可以在HTML5中完成吗?我知道我能做到

代码语言:javascript
复制
<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>

但它的可读性要差得多:

EN

回答 15

Stack Overflow用户

发布于 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。

票数 29
EN

Stack Overflow用户

发布于 2010-05-10 20:57:25

在HTML中创建您自己的标记名是不可能的/无效的。这就是XML、SGML和其他通用标记语言的用途。

你可能想要的是

代码语言:javascript
复制
<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即可。

票数 5
EN

Stack Overflow用户

发布于 2011-03-18 03:52:36

自定义标记可以在Safari、Chrome、Opera和Firefox中使用,至少在使用它们来代替"class=...“时是这样。去吧。

css中的绿色{color: green}适用于

代码语言:javascript
复制
<green>This is some text.</green>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2802687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档