" display:marker"是否可以在当前的所有浏览器中使用,如果可以,怎么办?

时间:2020-03-05 18:49:30  来源:igfitidea点击:

我不确定我的代码是否很烂,或者仅仅是浏览器尚未赶上规范。

我的目标是使用生成的内容来模拟列表标记,以获取例如纯CSS中计数器从列表到列表的延续。

因此,以下代码(根据规范我认为是正确的)如下所示:

html {
  counter-reset: myCounter;
}
li {
  counter-increment: myCounter;
}
li:before {
  content: counter(myCounter)". ";
  display: marker;
  width: 5em;
  text-align: right;
  marker-offset: 1em;
}
<ol>
  <li>The<li>
  <li>quick</li>
  <li>brown</li>
</ol>
<ol>
  <li>fox</li>
  <li>jumped</li>
  <li>over</li>
</ol>

但这似乎不会在FF3,Chrome或者IE8 beta 2中生成标记,并且如果我没记错的话,Opera也不会生成标记(尽管自从卸载Opera以来)。

那么,有谁知道标记是否应该起作用? Quirksmode.org在这方面不是通常有用的自我:(。

解决方案

回答

显然,marker是CSS 2中引入的一个值,但由于缺乏浏览器支持,因此没有在CSS 2.1中使用。
我想那没有帮助它的普及

来源:http://de.selfhtml.org/css/eigenschaften/positionierung.htm#display(德语)

回答

哦,哎呀,不知道:-|。然后,这可能会封住案子。因为大多数情况下,我都以为这样的基本CSS2属性肯定会在现代浏览器中得到支持,但是如果CSS 2.1中没有包含此属性,那么它就更有意义了。

为了将来参考,它没有出现在Mozilla开发中心中,因此Firefox可能根本不支持它。

另外,为了将来参考,我得到了原始示例来代替使用" inline-block":

li:before
{
    content: counter(myCounter)". ";
    display: inline-block;
    width: 2em;
    padding-right: 0.3em;
    text-align: right;
}