Master-X
Форум | Новости | Статьи
Главная » Форум » Дизайн » 
Тема: Css проблема
цитата
21/11/08 в 14:17
 Guest
Подскажите плиз, можно ли на css сделать так чтоб из трех вертикальных блоков крайние были фиксированной ширины а средний занимал все свободное пространсто между ними?
спасибо
цитата
21/11/08 в 14:35
 Joseph
Легко. Поищи в гугле - куча туториалов на эту тему. Не поленись. Вот например такой запрос подскажу тебе, бесплатно: CSS three column icon_wink.gif

Вообщем суть такая, если разбираешся в цсс, центрайльный блок - имеет 100% ширину с паддингом по бокам равную ширине боковых колонок, которые расположены на других слоях (z-index:XX)
цитата
21/11/08 в 14:44
 Petek
http://www.dynamicdrive.com/style/layouts/item/css-liquid-layout-31-fixed-fluid-fixed/

но я бы сделал так (content имеет ширину auto по умолчанию и должен растягиватся, ну и float очистить надо будет, если футер есть)

Код:

#main {float: left;}
#leftcol {float: left; width: 200px;}
#content {float: right}
#rightcol {float: right; width: 200px;}


Код:

<div id="main">
<div id="content">
</div>
<div id="leftcol">
</div>
</div>

<div id="rightcol">
</div>
цитата
23/11/08 в 10:17
 jesper
народ какие то вы извращения пишите .. все достаточно проще
Joseph центральный блок может вообще ширины не иметь, если это дейсвительно элемент блочного типа
Petek чтот ты намудрил .. зачем столько не нужного кода ..
ТС все выглядит так, важным моментом является что блок с классом center должен идти после left и right
Код:

.left { float: left; width: 200px; }
.right { float: right; width: 200px; }
.center { margin: 0px 200px; }

<div class="left">123</div>
<div class="right">123</div>
<div class="center">123</div>
цитата
23/11/08 в 12:23
 Petek
jesper, ну у меня только один дополнительный блок, зато контент в коде страницы на первом месте )
да и мне просто разметки с margin-ами всякими не нравятся,
захотел изменить ширину боковых колонок, придется заново поля высчитывать icon_smile.gif
цитата
23/11/08 в 16:35
 jesper
ну да, придется
на крайний случай можно просто в отдельный класс вынести к примеру .sidebar { width: 200px; }
<div class="left sidebar"></div>
<div class="right sidebar"></div>
просто у тебя документ не семантический получается
блоки в блоки плохо вкидывать это ведь не табличная верстка ..
ну ладно эт не столь важно, но лучше для оптимизации об этом почитать
цитата
23/11/08 в 16:47
 Skat
jesper все правильно расписал, вообще резину я не люблю, хорошо когда все фиксировано
цитата
25/11/08 в 12:04
 Guest
jesper писал:
ТС все выглядит так...

все отлично, спасибо
тока единственное уточнение - если у center есть свойство overflow:hidden; то в FireFox'e вместо широкой полосы на все свободное место получается узенкая полоска посередине. отсутсвие overflow на что повлиять может?
цитата
25/11/08 в 13:18
 Petek
Guest писал:
все отлично, спасибо
тока единственное уточнение - если у center есть свойство overflow:hidden; то в FireFox'e вместо широкой полосы на все свободное место получается узенкая полоска посередине. отсутсвие overflow на что повлиять может?

скорее всего overflow:hidden тебе вообще не надо указывать
цитата
25/11/08 в 19:58
 pinnokio
Guest писал:
все отлично, спасибо
тока единственное уточнение - если у center есть свойство overflow:hidden; то в FireFox'e вместо широкой полосы на все свободное место получается узенкая полоска посередине. отсутсвие overflow на что повлиять может?


Ни на что не повлияет. Overflow удобно использовать если у тебя жестко заданы границы дива и нужно все "лишнее" содержимое скрыть (читай, обрезать.) В противном случае - просто не описывай (присваивай) это значение.
цитата
26/11/08 в 02:09
 jesper
guest
честно сказать я вопроса не понял
если hidden вообще полоски не должно быть, просто текст обрезается, при scroll появляется полоса прокрутки или ты о чем?
Или ты имеешь ввиду чтобы 3 дива шли с одинаковой высотой?
По спецификации у блоков вообще высоты нет, т.е. у них нет даже атрибута height, только цсс позволяет указать высоту, но это не правильно, это уже в некотором роде хаком считать можно.


Эта страница в полной версии