Мне пришлось вырезать определенные ссылки (выделенные курсивом), поскольку у меня пока нет достаточной репутации, но они могут быть позже заменены.
Я создал плагин jQuery, который отображает увеличенные номера строк для поэзии и драмы; Линии стихотворения представлены в виде дочерних элементов упорядоченного списка (ol.verse). Когда javascript включен, подключаемый модуль генерирует номера строк каждый n-й интервал, основываясь на минимуме встроенных значений списка. Эти числа затем могут управляться через DOM. Когда JS отключен, числовые маркеры списка каждой пятой строки пинают как резервные номера строк.
Теперь я задаюсь вопросом, можно ли заставить подключенное стихотворение деградировать как список, основанный на CSS-счетчиках. IE 6-7 получают обслуживаемые простые упорядоченные списки с периодами ожидания цифр, но превосходные браузеры должны получать счетчики или числа, генерируемые плагином. Вот улов. Правила счетчика CSS должны быть способны учитывать ситуации, когда нумерация строк и индексация списка стихотворений не синхронизируются. Я видел несколько сообщений по счетчикам форматирования и пропускать детей, а также правильные и неправильные способы форматирования стихов семантически и типографически (Предложения W3C, рекомендующие абзацы и предварительные теги в лучшем случае сомнительны); Однако я придумал пустую проблему с использованием счетчиков для увеличения числа строк, поэтому я делюсь своими силами на решение и надеюсь, что вы, ребята, можете помочь мне в выборе лучшего.
Основные правила, с которыми я экспериментировал с ограниченным успехом:
ol.verse { counter-reset: line 0;
ol.verse li {
display: block;
}
ol.verse li:before {
counter-increment: line;
content: counter(line) " ";
}
/* hide lines, or more precisely, children, that are not a multiple of 5 */
ol.verse li:not(:nth-child(5n)):before {
visibility: hidden;
}
Как вы можете видеть из эта скрипта, эти правила отображают числа каждую пятую строку SO LONG AS, каждый из которых должен считаться как строка стихотворения и SO LONG AS проход начинается с строк 1, 6, 11, 16 и т.д. (т.е. счетчик reset равен 0 или кратно 5). Это последнее правило может представлять интерес для тех, кто хочет увеличить число строк для какой-либо более простой задачи (например, простое стихотворение для записи в блоге), но эти условия слишком ограничивают наши потребности (структурный репозиторий критических выпусков TEI поэзия/драма онлайн).
Проблема 1: Если у меня есть несколько выдержек или делений одной или нескольких работ, чьи встречные сбрасывания не являются кратными значениям по умолчанию, я должен ссылаться на выдержки по id и смещать скрытие правило для каждого идентификатора остатка. Например, выдержка, начинающаяся с строки 43, требует корректировки счетчика reset до 42 и корректировки параметра nth-child правила скрытия на 5n + 3 (с 42% 5 = 3). Внезапно счетчики становятся менее привлекательными, чем значения списка нумерации вручную. Это по крайней мере лучше, чем....
Проблема 2: Получение браузера для определения определенных строк, таких как подзаголовки или направления шагов, которые могут быть встроены в стихотворение. В этих строках я попытался добавить класс nocount и отключить свойство отображения или свойство видимости, например
ol.verse li.nocount:before {
display: none;
}
ИЛИ
ol.verse li.nocount:before {
visibility: hidden;
}
В сочетании с правилом, скрывающим линии, которые не являются кратными приращению, ни один из них не дает желаемых результатов. См. эту скрипту. Первый вызывает неправильную нумерацию строк на нужных числах; последнее, правильная нумерация на неправильных. Есть ли способ написать правила счетчика CSS, которые будут работать независимо от того, соответствуют ли автоматические номера строк правильным дочерним индексам? Может быть, есть и другая комбинация селекторов CSS, которые будут выполнять эту работу?