Cyrillic Ordered List Style (es)
Скрипт реализации нумерованных списков заданных русскими буквами. <ol type="буквы">
by denvdmj
HTML
<h1>Нумерованные списки заданные русскими буквами</h1>
<p>Русские буквы — буквы ё, й, ъ, ы, ь в нумерованных списках пропускаются.
<a href="https://ru.wikipedia.org/wiki/Список_(типографика)#Нумерованные_списки">Нумерованные списки</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>
<li>Тропы по большому сертану Жуан Гимарайнс Роза 1956 Бразилия Португальский</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
'use strict';
(() => {
const selector = 'ol[type="буквы"]',
style = document.createElement('style');
document.head.appendChild(style);
[].forEach.call('абвгдежзиклмнопрстуфхцчшщэюя', (c, i) =>
style.sheet.insertRule(`${selector}>li:nth-child(${i+1})::before{content:"${c})"}`, 0)
);
style.sheet.insertRule(`${selector}>li{list-style-type:none;position:relative}`, 0);
style.sheet.insertRule(`${selector}>li::before{position:absolute;width:2em;left:-2.25em;text-align:right;display:inline-block}`, 0);
})();