放一个`<custom-tag>`而不是`<ul>`或`<ol>`来创建一个列表

时间:2016-11-22 22:44:13

标签: html css

在您将此标记为重复之前:我已经看过Can you have <li>s without them being under a <ul> or <ol>?,但他们通过使用样式来解决问题。

以下是我的问题:我可以在<li>而非<custom-tag><ul>元素中添加<ol>个项目吗?

这样的事情:

<ul>
  <li>one</li>
  <li>two</li>
  <li>d</li>
  <li>three</li>
</ul>

看起来像这样:

<custom-tag>
  <li>one</li>
  <li>two</li>
  <li>d</li>
  <li>three</li>
</custom-tag>

问题的背景

我想为simditor创建一个新组件:orderer列表中罗马数字的组件,但它将ol识别为他的&#34;内置&#34; ol按钮......似乎它使用标签名称来检测按钮在编辑器上是否处于活动状态,所以我想通过使用带有其他名称的标签来修复此问题,此时此解决方案似乎比重写整个库更容易。

2 个答案:

答案 0 :(得分:5)

不,你不能。

  

4.4.7 The li element

     

Contexts in which this element can be used

     
      
  • 内部ol元素。
  •   
  • 内部ul元素。
  •   

如果要对列表使用自定义元素,也可以将它们用于项目:

<unordered-list>
  <list-item>one</list-item>
  <list-item>two</list-item>
  <list-item>d</list-item>
  <list-item>three</list-item>
</unordered-list>

答案 1 :(得分:1)

虽然不允许在liul元素之外存在ol个元素,但在hacky中它没有任何价值,Chrome确实似乎支持这种可能性(虽然我不推荐它。)

&#13;
&#13;
roman {
  display: block;
  list-style-type: upper-roman;
  margin: 1em 0;
  padding: 0 0 0 40px;
}
&#13;
<roman>
  <li>List item</li>
  <li>List item</li>
  <li>List item</li>
  <li>List item</li>
  <li>List item</li>
</roman>
&#13;
&#13;
&#13;