Как загнать двухколоночный сайт в общий контейнер DIV? @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 7 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
Heznar
новый человек
0
Сообщения: 2
Зарегистрирован: 11.04.09
Заголовок сообщения: Как загнать двухколоночный сайт в общий контейнер DIV?
Сообщение Добавлено: 11 Апрель 2009, 14:43:18 
Пытаюсь создать разметку сайта без таблиц, используя только DIV и CSS. Ребята, уже и не знаю как поступить, вроде задачка то типичная... Может я что то не так делаю?

Необходимо сделать двухколонный сайт по центру экрана (два контейнера DIV), заключенный в общий контейнер DIV, чтобы колонки не обтекали друг друга, когда заканчивается их содержимое.

Делаю это так:
Код:
<div id="container">
   <div id="left_column">
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque feugiat elementum odio. Ut laoreet sagittis lorem. Ut eu arcu vel purus facilisis gravida. Proin semper turpis quis lorem. Suspendisse non eros venenatis ante gravida tincidunt. Phasellus nunc. Integer felis. Curabitur euismod. Nunc arcu metus, ullamcorper et, porta sed, sollicitudin id, eros. Maecenas posuere. Donec suscipit, lectus non elementum elementum, est urna aliquet tortor, ultrices pulvinar nibh lacus sed nisl. Praesent nisi. Aliquam at mauris eget enim laoreet consequat. Donec ut augue vel lectus iaculis semper. Nam erat eros, pellentesque at, elementum a, vulputate in, massa.
   </div>
   <div id="right_column">
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque feugiat elementum odio. Ut laoreet sagittis lorem. Ut eu arcu vel purus facilisis gravida. Proin semper turpis quis lorem. Suspendisse non eros venenatis ante gravida tincidunt. Phasellus nunc. Integer felis. Curabitur euismod.
   </div>
</div>


В CSS разметка такая (все предельно упрощено):

Код:
#container {
width: 760px;
margin: 0 auto 0 auto;
border: 1px solid #000;
}

#left_column{
border: 1px solid #000;
width: 545px;
float: left;
}

#right_column{
border: 1px solid #000;
width: 185px;
float: right;
}


А выглядит это вот как:
Изображение

Обратите внимание на черную полосу вверху. Это border 1px общего контейнера id="container", который по логике, должен охватывать контейнеры, которые находятся внутри него, обрамляя их рамкой, но он этого почему то не делает! А это важно, например для того, чтобы сделать фон и границы сайта.

В CSS для right_column я удалил width: 185px; float: right; В результате рамка общего контейнера id="container" стала обрамлять всю страницу, как и требовалось, но теперь текст правого столбца обтекает левый, а нужно чтобы обтекания не было. Тэг clear: both не помог :(

Результат можно увидеть здесь:
Изображение

Никак не могу понять, почему так происходит и как правильно сделать?
ulitin kirill
постоянный участник
92
Сообщения: 2844
Зарегистрирован: 17.07.05
Откуда: Санкт-Петербург
Сообщение Добавлено: 11 Апрель 2009, 17:34:11 
если вы не понимаете принципов рендеринга документа то какого рожна верстаете дивами?
clear:both это не тэг это свойство и именно оно вам поможет

Код:
<div id="container">
   <div id="left_column"></div>
   <div id="right_column"></div>
   <div style="clear:both"></div>
</div>

_________________
хочу лето, очень.
Podveg Razvedcheka Муж.
участник
7
Сообщения: 1303
Зарегистрирован: 21.01.08
Откуда: г. Казань
Заголовок сообщения: Re: Как загнать двухколоночный сайт в общий контейнер DIV?
Сообщение Добавлено: 11 Апрель 2009, 18:51:18 
Плавающие блоки по определению выпадают из нормального потока, поэтому блок id="container" как бы схлопнулся, потому что посчитал, что в нем ничего нет. В результате этого наверху видна двойная рамка "схлопнутого" контейнера. Для устранения этой проблемы нужно после двух внутренних блоков к примеру написать тег <br style="clear:both">
[cyber]form Муж.
участник
60
Сообщения: 1523
Зарегистрирован: 26.10.05
Откуда: Латвия/Лиепая
Сообщение Добавлено: 11 Апрель 2009, 20:20:54 
#container {overflow: hidden;}

_________________
Жаль, что глупость не приносит болевых ощущений.
Антон Шандор ЛаВей
Heznar
новый человек
0
Сообщения: 2
Зарегистрирован: 11.04.09
Сообщение Добавлено: 11 Апрель 2009, 23:25:13 
Спасибо за помощь! Помогло!
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Заголовок сообщения: Re: Как загнать двухколоночный сайт в общий контейнер DIV?
Сообщение Добавлено: 12 Апрель 2009, 02:23:16 
Heznar,
для познавания:
svoystvo-clear-v-css-kak-izbavitsya-ot-nenuzhnih-elementov--t65987.html

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
Cesar Муж.
новый человек
0
Сообщения: 3
Зарегистрирован: 03.09.07
Откуда: Екатеринбург
Сообщение Добавлено: 3 Август 2009, 03:59:18 
Спасибо, реально помогло!
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 7 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100