2015-01-08 2 views
2

Если я пишу следующий код:Нумерованный список с повторяющимися номерами

<ol> 
    <li>Coffee</li> 
    <li>Tea</li> 
    <li>Milk</li> 
    <li>Rice</li> 
    <li>Bread</li> 
</ol> 

я доберусь

1. Coffee 
2. Tea 
3. Milk 
4. Rice 
5. Bread 

Какой код я должен написать, если я хочу иметь следующий результат:

1. Coffee 
2. Tea 
2. Milk 
4. Rice 
5. Bread 

Что-то вроде этого было бы в порядке:

<ol> 
    <li>Coffee</li> 
    <li>Tea</li> 
    <li class="same_number_as_previous">Milk</li> 
    <li>Rice</li> 
    <li>Bread</li> 
</ol> 
+0

ли те должны быть ссылки? –

+0

Нет, мне просто нужен заказный список –

+0

Проверьте мой код Snippet !!! Это именно то, что вы хотите @Thanos –

ответ

4

Ditch фондовый счетчик и использовать пользовательские CSS2 Counter:

ol { 
 
    counter-reset: foo 0; 
 
    list-style-type: none; 
 
} 
 
ol li { 
 
    counter-increment: foo 1; 
 
} 
 
ol li.dont-increment { 
 
    counter-increment: foo 0; 
 
} 
 
ol li:before { 
 
    content: counter(foo) "."; 
 
    /* bells and whistles */ 
 
    float: left; 
 
    width: 2em; 
 
    margin-left: -2.5em; 
 
    text-align: right; 
 
}
<ol> 
 
    <li>Coffee</li> 
 
    <li>Tea</li> 
 
    <li class="dont-increment">Milk</li> 
 
    <li>Rice</li> 
 
    <li>Bread</li> 
 
</ol>

+0

Использование такой логики в CSS всегда опрятно. – Slime

+0

Там может быть более чистый способ, чем это, но фактически пропустить номер, который вы можете встретить с увеличением на 1. Больше: http://jsfiddle.net/4agub91a/. Вариантом было бы просто сделать это путем встроенного стиля во время создания. –

1

ли это нормально?

ol { 
 
    
 
    margin: 0; 
 
}
<ol> 
 
    <li>Coffee</li> 
 
    <li>Tea</li> 
 
</ol> 
 
<ol start=2> 
 
<li>Milk</li> 
 
    </ol> 
 
    <ol start=4> 
 
    <li>Rice</li> 
 
    <li>Bread</li> 
 
    </ol> 
 

+0

Я никогда не знал об атрибуте start для тегов ol, поэтому спасибо за это. – Slime

Смежные вопросы