Решение с OL
& LI
является наиболее семантическим из всех, поскольку оно предоставляет информацию о номерах строк, и каждая строка представляет собой отдельный блок, так что вы можете стилизовать его как угодно. Числа по-прежнему видны в текстовых браузерах без CSS и JavaScript. Пользователи программ чтения с экрана могут переходить от строки к строке, пропускать строки, и они всегда знают, в какой строке они находятся и сколько строк. Они могут даже пропустить весь список.
Проблема с выбором на самом деле не в домене HTML / CSS / JS, потому что вы не можете решить вместо своего пользователя, что он хочет делать с скопированным текстом. Он мог бы захотеть скопировать его с или без этих номеров строк одинаково хорошо. Лучше хранить как можно больше семантической информации и позволить пользователю выбирать, какую из них он хочет использовать, чем предоставлять ему только простые данные без любых параметров.
Но если вы хотите предоставить ему простой способ копирования простого источника без какой-либо дополнительной разметки или номеров строк, дайте ему ссылку на исходный файл простого текста . Затем он сможет щелкнуть по нему и отобразить исходный текст в виде простого текста на отдельной странице. Он может скопировать и вставить его оттуда без каких-либо номеров строк и т. Д., И даже сделать ссылку на источник в виде простого текста из своих собственных документов или скопировать и вставить URL из адресной строки браузера, чтобы отправить его своему другу-программисту ;-) может даже составить список всех исходных текстовых файлов где-нибудь на вашем сайте.
Единственная проблема, с которой я столкнулся при использовании этой техники с OL
& LI
, заключается в том, что теги нельзя пересекать. Если какой-либо фрагмент (например, комментарий к блоку) начинается с одной строки и продолжается до других строк, вам нужно правильно закрыть всю разметку и снова открыть ее на следующей строке, и сделать это с каждой строкой, как это.
Да ... Если бы в какой-то будущей версии HTML было возможно автоматически нумеровать строки в любом контейнере (например, PRE
, DIV
и т. Д.), Они бы отображались в HTML без стилей и скриптов Java (хотя вы могли бы быть в состоянии стилизовать эти номера строк и отдельные строки, используя некоторые псевдоклассы) ... Но пока съешьте то, что у вас есть; -J