替换

问题描述 投票:4回答:3

我一直在寻找一些方法来解决start元素中ol属性的问题。

[您可能知道,start在HTML 4.01和XHTML 1.1等官方标准中已被声明为已弃用,W3C并没有费心向我们解释如何不使用它。是的,HTML5不推荐使用,但问题仍然存在。

Ordered Lists <OL>, Starting index with XHTML Strict?很好地解释了如何解决。但仅适用于数字列表(类型=“ 1”)。其他类型呢?

我创建了一个jsFiddle,我的问题是,可以做到吗?您可以删除start属性并用CSS替换它,以使结果看起来与原始属性相同吗?还是W3C弃用的那天只是放屁了?

html css deprecated w3c
3个回答
2
投票

您可以在counter() CSS属性(content)中为specification指定第二个参数:

ol.roman18 {
    margin: 1em 0;
    counter-reset: item 17; /* The first list item will start at 18, XVIII */
}
ol.roman18 li {
    margin: 0 0 0 4em;
}
ol.roman18 li:before {
    content: counter(item, upper-roman) '.';
    counter-increment: item;
    /* Alignment */
    position: absolute;
    margin-left: -3.5em;
    text-align: right;
    width: 3em;
}

PS。 item不是必需的名称,它只是计数器的标识符。如果需要,可以将其替换为小马:http://jsfiddle.net/kRPDH/4/

演示:http://jsfiddle.net/kRPDH/6/


2
投票

我可以为您的问题提供4种建议1.将文档类型更改为过渡或HTML5(具有良好的支持)2,使用js3.将计数器包含在li元素本身内(如果列表太长而无法在页面中处理,则不希望使用)4.使用许多建议的css计数器。请参阅此以获取详细说明http://dev.opera.com/articles/view/automatic-numbering-with-css-counters/


0
投票

尝试这个小提琴:http://jsfiddle.net/Wvp2b/1/

upper-romans作为第二个参数添加到counter函数,并将计数器变量设置为17

© www.soinside.com 2019 - 2024. All rights reserved.