Как создать html-список с произвольной начальной точкой и порядком, как я бы применил подсписок, как показано в фрагменте ниже (но скрыть номер внешнего списка и проверить выравнивание по умолчанию во внешнем списке).
Результат должен выглядеть так
1.1 Item...
...some Text...
1.2 Item
1.3 Item
или
2.1 Item
2.2 Item
Item...
...some Text...
2.3 Item
зависит от отправной точки.
ol {
counter-reset: section;
list-style-type: none;
}
li::before {
counter-increment: section;
content: counters(section, ".") " ";
}
<ol start = "2">
<li>
<ol>
<li>Item<br>Item</li>
<li>Item</li>
<li>Item</li>
</ol>
</li>
</ol>





следующий ответ Алохчи и обновление вашего вопроса о выравнивании текста:
ol {
list-style-type : none;
padding : 0;
margin-bottom: 1em;
}
ol ol {
padding-left : 3em;
}
ol ol li {
text-indent : -2em; /* the first line "trick" */
padding-bottom : .4em;
}
ol ol li::before {
content : counters(list-item, '.') ' ';
}<ol start = "2">
<li>
<ol>
<li>hello<br>world<br>...more text</li>
<li>Item</li>
<li>Item</li>
</ol>
</li>
<li>
<ol>
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ol>
</li>
</ol>[памятка] -> мой первый ответ
ol {
counter-reset : section;
list-style-type : none;
}
ol li::before {
counter-increment : section;
content : var(--start) counter(section) ' ';
}<ol style = "--start: '2.';">
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ol>третий:
ol {
list-style-type : none;
padding : 0 0 0 3em;
& > li {
text-indent : -2em;
padding-bottom : .5em;
}
& > li::before {
content : var(--prefix) counter(list-item) ' ';
}
}<ol style = "--prefix: '2.';">
<li>hello<br>world<br>...more text</li>
<li>Item</li>
<li>Item</li>
</ol>четвертый (и, надеюсь, последний):
ol {
list-style-type : none;
padding : 0;
counter-reset : section;
& > li {
display : flex;
align-items : stretch;
margin-bottom : .6em;
counter-increment : section;
}
& > li::before {
display : block;
padding-right : .4em;
content : var(--prefix) counter(section);
}
}<ol style = "--prefix: '2.';">
<li>hello<br>world<br>...more text</li>
<li>Item</li>
<li>Item</li>
</ol>@Hölderlin ну, я добавил еще 2... доволен? вы подтвердите мой ответ?
ИМХО, ваш первый ответ ([memo]) лучше всего с небольшой модификацией, добавив text-indent : -2em; в ol {...} .
Если вы хотите использовать значение атрибута start, вы можете использовать встроенный счетчик «list-item». Так:
ol {
list-style-type: none;
margin-bottom: 1em;
}
ol ol li::before{
content: counters(list-item, ".") " ";
}<ol start = "2">
<li>
<ol>
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ol>
</li>
<li>
<ol>
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ol>
</li>
</ol>
Почему не ваше первое решение и
text-indent : -2em;? На мой взгляд, плоский список удобнее.