[РЕШЕНО]Трех колоночный тянущийся дизайн, нужна помощь

Главные вкладки

Аватар пользователя kpv_dnepr@drupal.org kpv_dnepr@drupal.org 11 февраля 2011 в 13:14

Hello world)

Никак не могу найти ошибку в верстке.

<div id="sidebar-left" class="sidebar">
<div id="sidebar-right" class="sidebar">
<div id="main">

.both #sidebar-left {
    float: left;
    width: 230px;
}

.both #sidebar-right {
    float: right;
    width: 210px;
}

.both #main {
    margin-left: 230px;
    margin-right: 210px;
}

Как Вы видите верстка блочная тянущаяся, но блок #main выдвливается, как это побороть.

Комментарии

Аватар пользователя finraag finraag 11 февраля 2011 в 13:47

а ты попробуй вложить один див в дургой. например левый один а в правом: два дива, центральный и правый

Аватар пользователя kpv_dnepr@drupal.org kpv_dnepr@drupal.org 11 февраля 2011 в 15:52

"q2_faith" wrote:

для левого и правого сайдбаров ширину укажите

Так указано, не внимательно читаете.

"<a href="mailto:Sentrashy@drupal.org">Sentrashy@drupal.org</a>" wrote:

Расположить дивы по порядку - лефт, райт, мейн. Везде флоат:лефт. Убрать маржин у мейна. Так прокатит, интересно?=)

Так не сделаешь, что б боковые фиксированного width, а центральный тянущийся.

Аватар пользователя vitok vitok 11 февраля 2011 в 16:03

Да это геморный вариант верстать резиновый шаблон с такой разметкой, да и с точки зрения SEO разметка не правильная
Т.С. возьми за основу Basic в layout.css #page укажи width:100% (место дефолтных 960px) и будет тебе счастье.
Или же гугли на тему "резиновый трехколоночный шаблон"

Аватар пользователя Node_one Node_one 14 февраля 2011 в 16:42

Я начинающий, хотел бы спросить, где лежит layout.css для темы?
У меня тема
На одной из страниц выводится таблица, длина строк которой шире центральной части остальных страниц.
И "хвосты" перекрываются блоками правой колонки.
Marvin "тянется" нормально.

И еще. Если текст одного блока "заползает" на следующий блок, что нужно делать, куда смотреть, что читать?
В Garland'е такого нет.

Нашел: /sites/all/themes/cti_flex/css/layout-fixed.css и /sites/all/themes/cti_flex/css/layout-liquid.css

Аватар пользователя vitok vitok 14 февраля 2011 в 17:57

"Node_one" wrote:
Я начинающий, хотел бы спросить, где лежит layout.css для темы?

тогда посоветую поискать на тему "Учимся верстать XHTML и CSS с нуля"
А layout.css это всего лишь файл темы basic, в котором находиться нужный код для конкретного вопроса.

Аватар пользователя Node_one Node_one 14 февраля 2011 в 18:37

Спасибо за совет. Понимаю, надо учиться и гуглить.
Но хотя бы ответьте, возможно ли такое, и где"копать" в CSS?

Попробовал изменить в /sites/all/themes/cti_flex/css/layout-liquid.css:

#page-wrapper,
.region-page-closure {
 /* min-width: 960px; */ /* Don't allow the browser to make the site unreadable. */
  min-width: 1200px; /* Don't allow the browser to make the site unreadable. */
}

Стало более приемлемо.
Подскажите, плз, возможно ли для одного из типов материала (табличный список товаров) сделать растяжимой среднюю колонку (сдвигая правую с блоками)?

Аватар пользователя vitok vitok 14 февраля 2011 в 19:59

"Node_one" wrote:
Подскажите, плз, возможно ли для одного из типов материала (табличный список товаров) сделать растяжимой среднюю колонку (сдвигая правую с блоками)?

Можно, надо просто заглянуть в классы к тегу body и вырбар нужный создать правильный селектор, а что это все обозначает? В гугл!

Аватар пользователя Node_one Node_one 14 февраля 2011 в 20:23

"Andruxa" wrote:
про 1024х768 помним?

Спасибо.

"vitok" wrote:
вырбар

Сорри, не понял жаргона. Что есть "вырбар"?
Остальное смутно понятно.

Аватар пользователя Andruxa Andruxa 14 февраля 2011 в 21:14

Я как-то делал такой каркас:

<body>
<div id="page">
    <div id="header"></div>
    <div id="sidebar-left"></div>
    <div id="sidebar-right"></div>
    <div id="content"></div>
    <div id="footer-canceler"></div>
  <div id="content-bg"></div>
  </div>
  <div id="footer"></div>
</body>
html {
  height: 100%;
}

body {
  height: 100%;
  margin: 0;
  padding: 0;
}

#page {
  height: auto !important;
  min-height: 100%;
  margin: 0 auto;
  max-width: 1280px;
  min-width: 960px;
  position: relative;
  background-color:#999;
}

#header {
  height: 160px;
  background-color:#93C;
}

#sidebar-left {
  float: left;
  width: 20%;
  background-color:#03C;
}

#sidebar-right {
  float: right;
  width: 20%;
  background-color:#0C6;
}

#content {
  position: relative;
  z-index: 1;
}

#footer-canceler {
  clear: both;
  height: 50px; /* #footer.height */
}

#content-bg{
  top: 160px;   /* #header.height */
  right: 20%;   /* #sidebar-right.width */
  bottom: 50px; /* #footer.height */
  left: 20%;    /* #sidebar-left.width */
  position: absolute;
  z-index: 0;
  background-color:#FFF;
}

#footer {
  height: 50px;
  margin: -50px auto 0;
  max-width: 1280px;
  min-width: 960px;
  position: relative;
  background-color:#C6F;
}

Особенности:
- резиновый по горизонтали в пределах 960-1280px,
- футер прибит к низу страницы

насчет того, что правый сайдбар идет перед контентом - может, оно и неплохо. Контент более-менее статичен, а в правом сайдбаре - новости с низкочастотниками, которые надо по-быстрому прокачать.

Аватар пользователя vitok vitok 14 февраля 2011 в 22:19

"Node_one" wrote:
Сорри, не понял жаргона. Что есть "вырбар"?
Остальное смутно понятно.

Там опечатка была. "выбрав" Так что мои сорри.

Аватар пользователя Node_one Node_one 15 февраля 2011 в 10:48

"Andruxa" wrote:
про 1024х768 помним?

Т.е. если во View сделал таблицу шире, чем 1024 (ну, в крайнем случае 1280px) - минус ширина двух сайдбаров - это неправильно?

Аватар пользователя Andruxa Andruxa 15 февраля 2011 в 11:01

Ну, в зависимости от значения overflow она будет либо показываться не полностью, либо ее будет плющить.

Аватар пользователя Node_one Node_one 15 февраля 2011 в 16:31

Спасибо всем.
Более-менее разобрался с overflow,
теперь таблица имеет горизонтальную полосу прокрутки.
А вот как сделать среднюю колонку #content растяжимой?
Чтобы "сдвигала" правый sidebar?

Пока еще не понял, ищу.
Может, подскажете свойтво стиля?

"Andruxa" wrote:
- резиновый по горизонтали в пределах 960-1280px,

Резиновая вся страница, как я понял, а вот как бы сделать только среднюю колонку?

Применить

  max-width: 1280px;
  min-width: 960px;
  position: relative;

к #content?

Аватар пользователя Andruxa Andruxa 15 февраля 2011 в 17:02

"Node_one" wrote:
как бы сделать только среднюю колонку?

для #sidebar-left и #sidebar-right задайте фиксированную ширину (в px), для #content-bg - соответсвенно свойства left и right.