Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
Тема закрыта
Левая панель в viewtopic.php.
Итак, задача: сделать так, чтобы фон, у левой панели с информацией о пользователях, был сплошным графическим.
Имеем:
viewtopic.php
base.css
name_cs.css
Это файлы, которые отвечают за левую панель. Видим, что в viewtopic.php нет табличной разметки.
В левой панели есть фон, который можно задать с помощью .postleft и есть пустые пространства, которые заполяет следующий код:
base.css:
DIV.postright, DIV.postfootright {
BORDER-LEFT-WIDTH: 18em;
BORDER-LEFT-STYLE: solid;
}
Он задает ширину левой линии таблицы, в которой содержится текст сообщения. Соответственно, нельзя вставить картинку в тег "border".
Если тег убираешь - получается ужас, текст сообщений начинается там же, где начинается аватара.
Значит, надо вместо этих пустых пространств добавить какую-то резиновую ячейку, которой можно задать фон.
Может кто-нибудь с этим помочь? А то я уже замучался!!!
Вот пример: http://www.rose.7pe.net/forum/viewtopic … d=149#p149
Кстати base.css в своем стиле можно и не использовать. Вместо этого стиля с бордером можно задействовать левый отступ.
Кстати base.css в своем стиле можно и не использовать. Вместо этого стиля с бордером можно задействовать левый отступ.
В моём стиле уже есть некоторые настройки в base.css, поэтому я не могу его убрать. Однако, если убрать для эксперимента - текст соощений приклеивается к левому краю форума.
Левый отступ не помогает.
Добавлено Sat Nov 25 10:49:34 2006 :
Могу сделать скрины, если это может помочь...
Добавлено Sat Nov 25 10:53:32 2006 :
Мне кажется надо:
- или разделить postleft и postright на таблицы, как например в viewforum.php, а потом задать фон первой колонке.
- или создать блок типа того, в котором аватар находится, но чтобы этот блок не содержал информации, занимал всё свободное поле и растягивался, если сообщение длиннее стандартного.
К сожалению не знаю, как это реализовать...
Добавил в viewforum.php блок leftbar после контактной информации:
<DIV class="leftbar"></DIV>
Описал его в name_cs.css
DIV.leftbar{
background:url(../../img/rose_dv/postleft.jpg);
background-repeat:repeat-y;
color: #b1c3db;
height:200px
}
Если высоту задавать в процентах - он вообще не отображается. Кроме этого внизу остаётся пустая полоска. Но это уже шаг вперед!
А вот код моего форума из viewforum.php
<div class="postbg">
<div class="inbox">
<div class="postleft">
<dl>
<dt><strong><?php echo $username ?></strong></dt>
<dd class="usertitle"><strong><?php echo $user_title ?></strong></dd>
<dd class="postavatar"><?php echo $user_avatar ?></dd>
<?php if (count($user_info)) echo "\t\t\t\t\t".implode('</dd>'."\n\t\t\t\t\t", $user_info).'</dd>'."\n"; ?>
<?php if (count($user_contacts)) echo "\t\t\t\t\t".'<dd class="usercontacts">'.implode(' ', $user_contacts).'</dd>'."\n"; ?>
<?php if ($cur_post['poster_id'] > 1) echo '<p>'.$is_online.'</p>'; ?>
</dl>
<DIV class="leftbar"></DIV>
</div>
<div class="postright">
<h3><?php if (($post_count + $start_from) > 1) echo ' Re: '; ?><?php echo pun_htmlspecialchars($cur_topic['subject']) ?></h3>
<div class="postmsg">
<?php echo $cur_post['message']."\n" ?>
<?php if ($cur_post['edited'] != '') echo "\t\t\t\t\t".'<p class="postedit"><em>'.$lang_topic['Last edit'].' '.pun_htmlspecialchars($cur_post['edited_by']).' ('.format_time($cur_post['edited']).')</em></p>'."\n"; ?>
</div>
<?php if ($signature != '') echo "\t\t\t\t".'<div class="postsignature"><hr />'.$signature.'</div>'."\n"; ?>
</div>
<div class="clearer"></div>
<div class="postfootright"><?php echo (count($post_actions)) ? '<ul>'.implode($lang_topic['Link separator'].'</li>', $post_actions).'</li></ul></div>'."\n" : '<div> </div></div>'."\n" ?>
</div>
</div>
</div>
Редактировался Rose Des Vents (2006-11-25 08:32:50)
Я имел в виду не вообще не использовать все что есть в этом файле, я имел в виду не подключать его из своего стиля вообще, и все необходимые настройки перенести к себе в стиль. Так будет свободнее поле для экспериментов и не затронет другие стили. Вобщем должен получиться один файл стиля который подключается форумом. Обычную структуру ты знаешь, в начале файла стиль.css убераешь директивы импорта и вместо них вставляешь сами стили из этих файлов. Теперь стиль полностью под контролем и его можно менять без ущерба другим стилям.
Потом находишь:
DIV.postright, DIV.postfootright {
BORDER-LEFT-WIDTH: 18em;
BORDER-LEFT-STYLE: solid;
}
и меняешь на
DIV.postright, DIV.postfootright {
MARGIN-LEFT: 18em;
}
Это мы убрали бордер.
Потом ищешь пункт /* 2.1 This is the setup for posts. */
там заданы стили фона для всего блока сообщения.
Попозже допишу, тут семья бунт устроила блин...
Добавлено Sat Nov 25 11:37:52 2006 :
Если высоту задавать в процентах - он вообще не отображается. Кроме этого внизу остаётся пустая полоска. Но это уже шаг вперед!
Это шаг в сторону, так можно дойти до полного перверстывания форума
hcs
Бордер убрал.
Стили совместил в один.
А вот, что тут.
/* 2.1 This is the setup for posts. */
DIV.postright, DIV.postfootright {BORDER-LEFT-COLOR: #254074}
DIV.postleft, DIV.postfootleft, DIV.blockpost LABEL {
background:url(../../img/rose_dv/postleft.jpg);
background-repeat:repeat-y;
color: #b1c3db;
}
100% не ставится.
Этот тег как-бы задаёт только фон для текста. Текста нет - фона нет.
Интересно ещё то, что блок, где написано активен/неактивен - в опере видно, а в ие нет. Но если его поставить сразу за контактной информацией - его видно везде.
Жду ответа!
Добавлено Sat Nov 25 11:51:10 2006 :
И удачи с семьёй!
Редактировался Rose Des Vents (2006-11-25 09:12:34)
Урааааааааааааааааааааааа! Оказалось я всё правильно делал! Просто случайно поставил лишнее двоеточие! Наконец-то всё вышло!!!
Страницы 1
Тема закрыта