Javascript-форум (https://javascript.ru/forum/)
-   Сайт Javascript.ru (https://javascript.ru/forum/site/)
-   -   Перевод подсветки на highlight.js (https://javascript.ru/forum/site/7071-perevod-podsvetki-na-highlight-js.html)

PeaceCoder 24.01.2010 00:24

Цитата:

Сообщение от B@rmaley.e><e
Позиционировать js'ом не надо. А вот задавать каждому номеру свою высоту — да.

а если строка длинная и твой "номер" расширяется на 2 и более строк? в случае overflow - согласен можно, а если вот как хотят люди? что бы длинная строка переносилась на новую но нумерация оставалась "wordwrap" ?
А задавать высоту, своего рода и есть позиционирование.

Илья Кантор 24.01.2010 00:33

Dmitry A. Soshnikov,
Спасибо, исправлено.

По позиционированию - идея идеей, а вот бы прототип.. Чтоб работало ;)
Firefox он в буфер кладет даже display:none в случае таблицы.

PeaceCoder 24.01.2010 00:45

Цитата:

Сообщение от Илья Кантор
По позиционированию - идея идеей, а вот бы прототип.. Чтоб работало

делать ща нечего ща промучу маленький скрипт там умаю сам расширишь.

PeaceCoder 24.01.2010 01:07

<style>
.box {
  position: relative;
  width: 150px;
  }
#numbers{
  position: absolute;
  width: 25px;
  top: 0;
  bottom: 0;
  
  }
#numbers DIV {
  position: relative;
  width: 100%;
  text-align: right;
  
  }
#content {
  position: absolute;
  left: 30px;
  right: 0;
  }
</style>
  <div class='box'>
    <div id='numbers'>
      <div>1</div>
      <div>2</div>
      <div>3</div>
      <div>4</div>
      <div>5</div>
    </div>
    <div id="content">
      <div>строка 1 sdf sdf sdg sd gsdf gsd gsd gsd gs gsd gsd fgsd gsd g</div>
      <div>строка 2</div> 
      <div>строка 3 sdf sd sd gs s gs dfsd gsdf gsdf gsdf gsdf sd sd gsd gsdf sf s gsdf sdf sdf gsd sd gsd sd gsd gsdsdf gsd fsdf sd gsd gsd f</div> 
      <div>строка 4</div> 
      <div>строка 5</div> 
    </div>
  </div>
<script type="text/javascript">
var i,n=document.getElementById('numbers').childNodes,c=document.getElementById('content').childNodes;
for (var i=0;n[i];i++) if (n[i].nodeType!=3) n[i].style.height = c[i].clientHeight+'px';
</script>


ток чет тут не раскрывается область видимости.

B@rmaley.e><e 24.01.2010 01:24

Цитата:

Сообщение от PeaceCoder
а если строка длинная и твой "номер" расширяется на 2 и более строк? в случае overflow - согласен можно, а если вот как хотят люди? что бы длинная строка переносилась на новую но нумерация оставалась "wordwrap" ?

Что?

Octane 24.01.2010 04:02

Фиксированная ширина страницы спасает такой вариант.
А если кто-нибудь вставит большое изображение, вся нумерация строк кода развалится?
А есть гарантия, что на момент запуска скрипта, CSS уже загрузился, и стили применились?

Илья Кантор 24.01.2010 10:44

PeaceCoder - очень интересный вариант. .box width фиксированная - так, для примера да? В реальности блок кода может быть разной ширины..

С одной стороны могут быть глюки при ресайзе - ну так никто не мешает на onresize номера перепозиционировать.. Еще какие-то проблемы возможны?

PeaceCoder 24.01.2010 15:34

Цитата:

Сообщение от Илья Кантор
PeaceCoder - очень интересный вариант. .box width фиксированная - так, для примера да? В реальности блок кода может быть разной ширины..

Для примера, а вообще если убрать то ширина второй колонки будет на 30 пикс меньше общей ширины бокса (а он в свою очередь на всю ширину)
Цитата:

Сообщение от Илья Кантор
С одной стороны могут быть глюки при ресайзе - ну так никто не мешает на onresize номера перепозиционировать.. Еще какие-то проблемы возможны?

скипт надо запускать только тогда когда знаем что сайт полностью сформирован и отрисован. А можно сделать иначе - задать для кода фикс ширину, как я привел пример, а по по высоте получившейся строки задать фикс высоту номера. В случае этого сайта так и надо поступить. т.к. тут фикс ширина сайта.
Цитата:

Сообщение от Octane
А если кто-нибудь вставит большое изображение, вся нумерация строк кода развалится?
А есть гарантия, что на момент запуска скрипта, CSS уже загрузился, и стили применились?

Вот эти две проблемы надо пресечь тем, что бы запускать скрипт в сааамом конце формирования сайта или все фиксировать.
На счет картинок - должны показываться миниатюры, а не исходник.

B@rmaley.e><e 24.01.2010 18:16

http://df34.ru/barmaley/sh/test.html
IE6 идет лесом.

Dmitry A. Soshnikov 24.01.2010 18:21

Подсветка Питона сломалась

class A(object):
    def __init__(self):
        pass


А здесь не сломалась )

В блоге: http://javascript.ru/blog/Dmitry-A.-...a-organizaciya (теги закрыты правильно)


Часовой пояс GMT +3, время: 14:07.