Очень уж мне понравилось, как на этом форуме код выделяется: лишнее прячется в полосы прокрутки, шрифт читабельный, фон подходящий и т.д. и т.п.
Кто использует форум kunena без модификации, наверное обратил внимание, что код ни в какие полосы прокрутки не прячется, более того, строки длиннее заданного в настройках количества символов переносятся на новую строку, что делает текст кода в некоторых случаях нечитабельным.
Решено было эту проблему исправить!
В общем в результате залез я в файл components/com_kunena/lib/kunena.parser.php
заменил
$code_start_html = '<div class="fbcode"><table cellspacing="1" cellpadding="3" border="0"><tr><td><b>'._KUNENA_MSG_CODE.'</b></td></tr><tr><td><hr />';
на
$code_start_html = '<table style="table-layout:fixed;" width=100% cellspacing="1" cellpadding="3" border="0"><tr><td><b>'._KUNENA_MSG_CODE.'</b></td></tr><tr><td>';
а код:
// make sure we show line breaks
$code_start_html .= "<code class=\"{$t_type}\">";
$code_end_html = '</code><hr /></td></tr></table></div>';
заменил (от греха подальше
) на
// make sure we show line breaks
$code_start_html .= "<div class=\"php\">";
$code_end_html = '</div></td></tr></table>';
а также поправил стили в файле components\com_kunena\template\default_ex\kunena.forum.css , а именно заменил
div.fbcode{overflow:auto;}
на
div.php {
overflow: auto; /*полосы прокрутки добавляются только при необходимости*/
border: 1px solid #3D3D3D; /*толщина, вид и цвет рамки*/
white-space:nowrap; /*текст в окне браузера выводится как обычно, переносы строк устанавливаются автоматически*/
background-color:#f0f0f0; /*цвет заднего фона*/
max-height:250px; /*максимальная высота блока с кодом*/
min-height:40px; /*минимальная высота блока с кодом*/
width: 99%;
color:#000000; /*цвет кода*/
font-family:"courier new","times new roman",monospace !important; /*шрифт кода*/
font-size:9pt; /*Размер шрифта*/
line-height:1.3em; /*По сути - отступы между строками*/
margin-left: 1px; /*отступ от каждого края элемента.*/
padding:1px; /*значение полей вокруг содержимого элемента*/
}
А всё потому что тег <code> представляет строчный элемент, а это значит что:
- невозможно применить свойство overflow, которое применяется только к блочным элементам!
- не так как нужно обрабатывается border: 1px solid #3D3D3D; - бордюр устанавливается у каждой строки, а надо у всего "блока"
- и т.д., и т.п., т.е. во многом уступает по возможностям элементу, обозначаемому тегом <div>
К слову, у div-а только одна проблема - невозможно задать высоту 100%, чтобы он автоматом растягивался по высоте всей страницы или элемента, в который вложен (это свойство не обрабатывают IE и Opera, зато поддерживает Mozilla) - но это уже совсем другая история... :-)
Вот что получилось в итоге:P.S.
Получилось не совсем как на этом форуме, но очень похоже.
Главная проблема: отсутствие ограничения ширины и высоты, - решена. :-)
Со стилями предлагаю поэкспериментировать самостоятельно.
_____________________________________
Если Вы хотите отблагодарить меня за работу, зарегистрируйтесь по этой партнёрской
ссылке:
Это биржа ссылок. Из личного опыта: доход для вёбмастера для сайта с денюжкой 10 и PR 2 - до 1000 р./мес.