我想创造一些东西
<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>
但它是这么少可读性:
解决方法
您可以在浏览器中使用自定义标记,虽然它们不是HTML5(请参阅
Are custom elements valid HTML5?和
the HTML5 spec)。
让我们假设您要使用名为< stack>的自定义标记元素。这里是你应该做的…
步骤1
在CSS样式表中规范化其属性(think css reset) –
例:
stack{display:block;margin:0;padding:0;border:0; ... }
第2步
通过将此脚本附加到头部,使其在旧版本的Internet Explorer中工作(重要!):
<!--[if lt IE 9]> <script> document.createElement("stack"); </script> <![endif]-->
<stack>Overflow</stack>
随意设置属性…
<stack id="st2" class="nice"> hello </stack>