Cyrillic Ordered List Style
Скрипт реализации нумерованных списков заданных русскими буквами.
by denvdmj
HTML
<h1>Нумерованные списки заданные русскими буквами</h1>
<p>Русские буквы — буквы ё, й, ъ, ы, ь в нумерованных списках пропускаются.
<a href="https://ru.wikipedia.org/wiki/Список_(типографика)#.D0.9D.D1.83.D0.BC.D0.B5.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D1.8B.D0.B5_.D1.81.D0.BF.D0.B8.D1.81.D0.BA.D0.B8">Нумерованные списки</a></p>
<ol type="буквы">
<li>О всё видавшем Неизвестный автор XVIII—XVII вв. до н. э. Шумер / Аккад Аккадский</li>
<li>Книга Иова Неизвестный автор VI—IV вв. до н. э. Держава Ахеменидов Иврит</li>
<li>Тысяча и одна ночь Неизвестный автор 700—1500 Арабский халифат Арабский</li>
<li>Сага о Ньяле Неизвестный автор XIII век Исландия Древнеисландский</li>
<li>Божественная комедия Данте Алигьери 1265—1321 Италия Итальянский</li>
<li>Сказки Ханс Кристиан Андерсен 1835—1837 Дания Датский</li>
<li>И пришло разрушение Чинуа Ачебе 1958 Нигерия Английский</li>
<li>Отец Горио Оноре де Бальзак 1835 Франция Французский</li>
<li>Трилогия (Моллой, Мэлон умирает, Безымянный) Сэмюэл Беккет 1951—1953 Ирландия Французский, английский</li>
<li>Декамерон Джованни Боккаччо 1349—1353 Италия Итальянский</li>
<li>Вымыслы Хорхе Луис Борхес 1944—1986 Аргентина Испанский</li>
<li>Грозовой перевал Эмили Бронте 1847 Великобритания Английский</li>
<li>Рамаяна Вальмики III в. до н. э. — III в. н. э. Индия Санскрит</li>
<li>Энеида Вергилий 29—19 до н. э. Римская империя Классическая латынь</li>
<li>Миссис Дэллоуэй Вирджиния Вулф 1925 Великобритания Английский</li>
<li>На маяк Вирджиния Вулф 1927 Великобритания Английский</li>
<li>Махабхарата Вьяса IV в. до н. э. — IV в. н. э. Индия Санскрит</li>
<li>Голод Кнут Гамсун 1890 Норвегия Норвежский</li>
<li>Цыганское романсеро Федерико Гарсиа Лорка 1928 Испания Испанский</li>
<li>Сто лет одиночества Габриэль Гарсиа Маркес 1967 Колумбия Испанский</li>
<li>Любовь во время чумы Габриэль Гарсиа Маркес 1985 Колумбия Испанский</li>
<li>Фауст Иоганн Вольфганг фон Гёте +1832 Германия Немецкий</li>
...
CSS
:root {
font: 14.5px/1.375 Lato, Roboto;
background: #fff;
color: #000;
margin: 2rem;
}
body {
max-width: 40rem;
min-width: 15rem;
margin: auto;
}
JavaScript
(() => {
const classname = 'ol[type="буквы"]',
style = document.createElement('style');
document.head.appendChild(style);
'абвгдежзиклмнопрстуфхцчшщэюя'.split('').forEach((c, i) =>
style.sheet.insertRule(`${classname}>li:nth-child(${i+1})::before{content:"${c})"}`, 0)
);
style.sheet.insertRule(`${classname}>li{list-style-type:none;position:relative}`, 0);
style.sheet.insertRule(`${classname}>li::before{position:absolute;width:2em;left:-2.25em;text-align:right;display:inline-block}`, 0);
})();