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

Тема в разделе "CSS, HTML, Web 2.0, верстка по web-стандартам", создана пользователем CjTim, 02.08.2012.

  1. Offline

    CjTim Недавно здесь

    Регистрация:
    02.08.2012
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    Итак, есть сайт http://www.antynea.com/a/

    сделанный на основе шаблона pjo_joomlaforall шаблон бесплатный, GNU лицензия.

    Как растянуть блок вывода материала по ширине на некоторых страницах?

    На главной странице слева для блока меню в шаблоне div#left задана ширина 200 px, а для вывода материала div id=main_full - ширина 720px, но за счет таблицы contentpaneopen идет сужение до 704 px. Но тут появляется одна проблема, когда убираешь блок меню при выводе материала на других страницах (например), пустое место зарезервированное под меню остается, только уже справа. Можно ли как-нибудь исправив таблицу стилей, сделать так, чтобы материал в блоке растягивался на 900 px (при попытке так сделать, исправив ручками значения width для всех div-ов template_css шаблона, а также задавая max-width: 1600px; min-width: 640px; уже на главной странице происходит косяк, весь материал сползает вниз т.к. он не помещается справа после блока меню).

    Заранее огромное спасибо за любую помощь!
     

    Вложения:

    • Site1.jpg
      Site1.jpg
      Размер файла:
      95.8 КБ
      Просмотров:
      2
    • Site2.jpg
      Site2.jpg
      Размер файла:
      89.7 КБ
      Просмотров:
      3
    • template_css.txt
      Размер файла:
      22.6 КБ
      Просмотров:
      1
  2.  
  3. Offline

    teleman Недавно здесь

    Регистрация:
    19.12.2008
    Сообщения:
    54
    Симпатии:
    8
    Пол:
    Мужской
    написать еще один класс для полной ширины, например main_superfull
    и в idex.php вместо :

    <jdoc:include type="component" />

    прописать:

    <?php if($this->countModules('left')) : ?>
    <div id="imain_full">
    <?php else: ?>
    <div id="main_superfulll">
    <?php endif; ?>

    <jdoc:include type="component" />
    </div>
     
    CjTim нравится это.
  4. Offline

    Sunder Модератор

    Регистрация:
    23.04.2007
    Сообщения:
    159
    Симпатии:
    16
    Пол:
    Мужской
    В качестве быстрого решения предлагаю такой способ (но сразу предупреждаю: при публикации какого-либо модуля в правой колонке верстка скорее всего развалится... я пробежался по страницам сайта, вроде нигде не используется right).

    Заменить следующий абзац:
    Код (CODE):
    1. <?php if($this->countModules('right') and JRequest::getCmd('layout') != 'form') : ?>
    2. <div id="main">
    3. <?php else: ?>
    4. <div id="main_full">
    5. <?php endif; ?>


    на

    Код (CODE):
    1. <?php if($this->countModules('[B][COLOR="Red"]left[/COLOR][/B]') and JRequest::getCmd('layout') != 'form') : ?>
    2. <div id="main">
    3. <?php else: ?>
    4. <div id="main_full">
    5. <?php endif; ?>


    т.е. получается теперь, что если в позиции left есть модули, то контент будет выводиться в блоке main (ему нужно прописать ширину в 720 пикселей), а если модулей слева не будет, то контент будет в блоке main_full (ему прописать ширину 920 пикселей). Но опять же, если будет выведен блок main_full и будут в правой колонке модули, то получится 920 пикселей + 200 = развал верстки. Если будет желание, стукнитесь ко мне в аську, пообщаемся, помогу исправить, чтобы было нормально со всеми модулями.
     
  5. Offline

    Sunder Модератор

    Регистрация:
    23.04.2007
    Сообщения:
    159
    Симпатии:
    16
    Пол:
    Мужской
    Я сначала тоже так хотел предложить, но там сделано не очень, много зависимостей от модулей, непонятно как прописанных, короче не сработает :)
     
    CjTim нравится это.
  6. Offline

    CjTim Недавно здесь

    Регистрация:
    02.08.2012
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    Спасибо огромное, за помощь, teleman и Sunder![!] Действительно, сработало, единственное, пришлось еще учесть padding-и при задании ширины div id=main_full , и подобрать width в таблице стилей для таблиц table.contentpane и table.contentpaneopen.

    По ходу появился ещё один вопрос, в Chrome, Firefox, как ни странно и в IE маркированный список на главной странице списка отображается нормально, а вот в Opera (v.12.01) маркер (заданный картинкой) уезжает на фото манекена, я полагаю, что надо для решения данной проблемы написать отдельную таблицу стилей для Оперы и тем самым закрыть вопрос.
    И еще вопрос, Sunder-у возможно ли заменить фиксированные значения ширины для всех блоков и модулей на значения в % (с использованием, max-width и min-width), чтобы реализовать "резиновость" шаблона?..
     

    Вложения:

    • site2-0.jpg
      site2-0.jpg
      Размер файла:
      53.8 КБ
      Просмотров:
      2
    • site3.jpg
      site3.jpg
      Размер файла:
      57.8 КБ
      Просмотров:
      2
  7. Offline

    Sunder Модератор

    Регистрация:
    23.04.2007
    Сообщения:
    159
    Симпатии:
    16
    Пол:
    Мужской
    Да, надо в css поиграться с свойствами списка.
    Да, дня с головой хватит :) Посчитать ширину каждого блока (ширину общих блоков, модулей, отступов) в процентах от общей ширины шаблона, ну и в css соответственно внести изменения.
     
    Последнее редактирование: 03.08.2012

Поделиться этой страницей

Загрузка...