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

Discussion in 'CSS, HTML, Web 2.0, верстка по web-стандартам' started by CjTim, Aug 2, 2012.

  1. Offline

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

    Joined:
    Aug 2, 2012
    Messages:
    3
    Likes Received:
    0
    Gender:
    Male
    Итак, есть сайт 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; уже на главной странице происходит косяк, весь материал сползает вниз т.к. он не помещается справа после блока меню).

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

    Attached Files:

  2.  
  3. Offline

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

    Joined:
    Dec 19, 2008
    Messages:
    54
    Likes Received:
    8
    Gender:
    Male
    написать еще один класс для полной ширины, например 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 likes this.
  4. Offline

    Sunder Модератор

    Joined:
    Apr 23, 2007
    Messages:
    152
    Likes Received:
    16
    Gender:
    Male
    В качестве быстрого решения предлагаю такой способ (но сразу предупреждаю: при публикации какого-либо модуля в правой колонке верстка скорее всего развалится... я пробежался по страницам сайта, вроде нигде не используется 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 Модератор

    Joined:
    Apr 23, 2007
    Messages:
    152
    Likes Received:
    16
    Gender:
    Male
    Я сначала тоже так хотел предложить, но там сделано не очень, много зависимостей от модулей, непонятно как прописанных, короче не сработает :)
     
    CjTim likes this.
  6. Offline

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

    Joined:
    Aug 2, 2012
    Messages:
    3
    Likes Received:
    0
    Gender:
    Male
    Спасибо огромное, за помощь, teleman и Sunder![!] Действительно, сработало, единственное, пришлось еще учесть padding-и при задании ширины div id=main_full , и подобрать width в таблице стилей для таблиц table.contentpane и table.contentpaneopen.

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

    Attached Files:

  7. Offline

    Sunder Модератор

    Joined:
    Apr 23, 2007
    Messages:
    152
    Likes Received:
    16
    Gender:
    Male
    Да, надо в css поиграться с свойствами списка.
    Да, дня с головой хватит :) Посчитать ширину каждого блока (ширину общих блоков, модулей, отступов) в процентах от общей ширины шаблона, ну и в css соответственно внести изменения.
     
    Last edited: Aug 3, 2012

Share This Page

Loading...