Помощь - Поиск - Пользователи - Календарь
Полная версия: Пожелание для блока кода
UoKit.com Форумы > Портал > Новости > Приемная администрации портала
Fors1k
Здравствуйте. Если возможно, прошу добавить опцию нумерации строк кода, при обрамлении его в блок,
как, например, это выглядит здесь.
FREEON
примерно так...только js нужно править там дофига лишних языков но при желании можно довести да ума подсветку для пилота и lua
Нажмите для просмотра прикрепленного файла
FREEON
Вот более простой вариант без подсветки кода.
Подключаем к html css
CSS
Код
.operative { font-weight: bold; border: 1px solid yellow; }
#quine { border: 4px solid #D3C694; }
body {
  background-color:#FAFCFE;
  padding:50px 50px;
}

pre {
  background-color:#F2E9C0;
  overflow:auto;
  margin:0 0 1em;
  padding:.5em 1em;
}

pre code, pre .line-number {
  font:normal normal 12px/14px "Courier New",Courier,Monospace;
  color:black;
  display:block;
}

pre .line-number {
  float:left;
  margin:0 1em 0 -1em;
  border-right:1px solid;
  text-align:right;
}

pre .line-number span {
  display:block;
  padding:0 .5em 0 1em;
}

pre .cl {
  display:block;
  clear:both;
}

И затем Javascript должен идти после закрывающегося тега </pre> (например в самом низу html)
JS
Код
(function() {
    var pre = document.getElementsByTagName('pre'),
        pl = pre.length;
    for (var i = 0; i < pl; i++) {
        pre[i].innerHTML = '<span class="line-number"></span>' + pre[i].innerHTML + '<span class="cl"></span>';
        var num = pre[i].innerHTML.split(/\n/).length;
        for (var j = 0; j < num; j++) {
            var line_num = pre[i].getElementsByTagName('span')[0];
            line_num.innerHTML += '<span>' + (j + 1) + '</span>';
        }
        line_num.innerHTML += '<span>' + (j + 1) + '</span>';
    }
})();
Нажмите для просмотра прикрепленного файла
отключить выделение цифр в css дописываем(заменяем pre .line-number span на этот код) следующие строчки
Код
pre .line-number span {
  display:block;
  padding:0 .5em 0 1em;
  /**
             * Для эксплорера
             */
            -ms-user-select: none;

            /**
             * Для мозилы
             */
            -moz-user-select: none;

            /**
             * Для конкверора
             */
            -khtml-user-select: none;

            /**
             * Для Сафари и Хрома
             */
            -webkit-user-select: none;
}
FREEON
Простой2. С кнопкой Копировать код из блока кода.
Нажмите для просмотра прикрепленного файла
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.