Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2006-11-25 07:08:13

Rose Des Vents
Гость

Левая панель в просмотре темы.

Левая панель в viewtopic.php.

Итак, задача: сделать так, чтобы фон, у левой панели с информацией о пользователях, был сплошным графическим.

Имеем:
viewtopic.php
base.css
name_cs.css

Это файлы, которые отвечают за левую панель. Видим, что в viewtopic.php нет табличной разметки. sad

В левой панели есть фон, который можно задать с помощью .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

#2 2006-11-25 07:27:55

hcs
Гость

Re: Левая панель в просмотре темы.

Кстати base.css в своем стиле можно и не использовать. Вместо этого стиля с бордером можно задействовать левый отступ.

#3 2006-11-25 07:45:53

Rose Des Vents
Гость

Re: Левая панель в просмотре темы.

hcs пишет:

Кстати base.css в своем стиле можно и не использовать. Вместо этого стиля с бордером можно задействовать левый отступ.

В моём стиле уже есть некоторые настройки в base.css, поэтому я не могу его убрать. Однако, если убрать для эксперимента - текст соощений приклеивается к левому краю форума.

Левый отступ не помогает.

Добавлено Sat Nov 25 10:49:34 2006 :
Могу сделать скрины, если это может помочь...

Добавлено Sat Nov 25 10:53:32 2006 :
Мне кажется надо:
- или разделить postleft и postright на таблицы, как например в viewforum.php, а потом задать фон первой колонке.
- или создать блок типа того, в котором аватар находится, но чтобы этот блок не содержал информации, занимал всё свободное поле и растягивался, если сообщение длиннее стандартного.

К сожалению не знаю, как это реализовать...

#4 2006-11-25 08:31:23

Rose Des Vents
Гость

Re: Левая панель в просмотре темы.

Добавил в 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
}

Если высоту задавать в процентах - он вообще не отображается. Кроме этого внизу остаётся пустая полоска. Но это уже шаг вперед! smile

А вот код моего форума из 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('&nbsp;&nbsp;', $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>&nbsp;</div></div>'."\n" ?>
        </div>
    </div>
</div>

Редактировался Rose Des Vents (2006-11-25 08:32:50)

#5 2006-11-25 08:35:50

hcs
Гость

Re: Левая панель в просмотре темы.

Я имел в виду не вообще не использовать все что есть в этом файле, я имел в виду не подключать его из своего стиля вообще, и все необходимые настройки перенести к себе в стиль. Так будет свободнее поле для экспериментов и не затронет другие стили. Вобщем должен получиться один файл стиля который подключается форумом. Обычную структуру ты знаешь, в начале файла стиль.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 :

Rose Des Vents пишет:

Если высоту задавать в процентах - он вообще не отображается. Кроме этого внизу остаётся пустая полоска. Но это уже шаг вперед!

Это шаг в сторону, так можно дойти до полного перверстывания форума

#6 2006-11-25 08:50:40

Rose Des Vents
Гость

Re: Левая панель в просмотре темы.

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% не ставится.
Этот тег как-бы задаёт только фон для текста. Текста нет - фона нет.
Интересно ещё то, что блок, где написано активен/неактивен - в опере видно, а в ие нет. Но если его поставить сразу за контактной информацией - его видно везде.

Жду ответа! smile

Добавлено Sat Nov 25 11:51:10 2006 :
И удачи с семьёй! wink

Редактировался Rose Des Vents (2006-11-25 09:12:34)

#7 2006-11-26 08:50:50

Rose Des Vents
Гость

Re: Левая панель в просмотре темы.

Урааааааааааааааааааааааа! Оказалось я всё правильно делал! Просто случайно поставил лишнее двоеточие! Наконец-то всё вышло!!! big_smile

Подвал доски

Под управлением FluxBB. Хостинг Hostens