Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Трехколоночный макет (https://javascript.ru/forum/xhtml-html-css/31940-trekhkolonochnyjj-maket.html)

ansi_str 26.09.2012 23:05

Трехколоночный макет
 
Здравствуйте, подскажите пожалуйста:
Нужно сверстать макет, состоящий из футера, хедера и трёх колонок.
Я макет сверстал, но не знаю как растянуть колонки от футера до хедера, чтобы футер был всегда привязан к дну окна браузера, а хедер к верху окна браузера.

Делаю так:

<html>
<head>
    <style type="text/css">
        *
        {
            padding: 0;
            margin: 0;
        }
        html, body
        {
            height: 100%;
        }
        body
        {
            background: #fff;
            color: #000;
            font: 12px Tahoma, Helvetica, Arial, Verdana;
        }
        .wrap
        {
            position: relative;
            min-height: 100%;
            height: auto !important;
            height: 100%;
            width: 1000px;
            margin: 0 auto;
        }
        .clear
        {
            clear: both;
            height: 0;
            padding: 0;
            margin: 0;
            overflow: hidden;
        }
        .empty
        {
            height: 100px;
        }
        .footer
        {
            position: relative;
            height: 100px;
            background: #ddd;
            width: 1000px;
            margin: -100px auto;
        }
        
        /*  other styles   */
        .header, .footer, .sidebar-left, .sidebar-right, .content
        {
            font-size: 24px;
            background: #eee;
        }
        .header
        {
            height: 100px;
        }
        .sidebar-left, .sidebar-right
        {
            width: 200px;
            background: #ccc;
        }
        .sidebar-left
        {
            float: left;
        }
        .sidebar-right
        {
            float: right;
        }
        .content
        {
            background: #fafafa;
        }
    </style>
</head>
<body>
    <div class="wrap">
        <div class="header">
            Шапка
        </div>
        <div class="sidebar-left">
            Левая колонка
        </div>
        <div class="sidebar-right">
            Правая колонка
        </div>
        <div class="content">
            Центральная колонка
        </div>
        <div class="clear">
        </div>
        <div class="empty">
            <!-- -->
        </div>
    </div>
    <div class="footer">
        Футер
    </div>
</body>
</html>

bes 26.09.2012 23:17

position:fixed не?

ansi_str 26.09.2012 23:27

Цитата:

Сообщение от bes (Сообщение 206681)
position:fixed не?

Не, я хочу независимо от содержания трёх колонок, чтобы их высота (фон) тянулась от хедера до футера.

Dim@ 26.09.2012 23:30

Цитата:

Сообщение от ansi_str
футер был всегда привязан к дну окна браузера

если так то точно
position:fixed
в другом случае относительные еденицы измерения;)

Dim@ 26.09.2012 23:33

ansi_str,
ссори туплю, я думаю как вариант обернуть хедер и футер в один див и этот див привязать к низу ;)

ansi_str 26.09.2012 23:33

Да нет, футер привязан - всё замечательно :)

У меня не получатся растянуть колонки от хедера до футера во всю высоту, независимо от их содержания.

Dim@ 26.09.2012 23:35

ansi_str,
Цитата:

Сообщение от ansi_str
всю высоту

тогда другой вопрос, во всю высоту чего? документа? страницы?

bes 26.09.2012 23:35

display: (table, table-cell) http://htmlbook.ru/css/display

ansi_str 26.09.2012 23:45

Sample

Но пока не знаю как растянуть

Dim@ 26.09.2012 23:51

ansi_str,
кстати
Цитата:

Сообщение от Dim@
обернуть хедер и футер в один див и этот див привязать к низу

получится что футер уже привязанный к низу,
<style>
*
        {
            padding: 0;
            margin: 0;
        }
        html, body
        {
            height: 100%;
        }
        body
        {
            background: #fff;
            color: #000;
            font: 12px Tahoma, Helvetica, Arial, Verdana;
        }
        .wrap
        {
            position: relative;
            min-height: 100%;
            width: 1000px;
            margin: 0 auto;
            bottom:0px;
        }
        .clear
        {
            clear: both;
            height: 0;
            padding: 0;
            margin: 0;
            overflow: hidden;
        }
        .empty
        {
            height: 100px;
        }
        .footer
        {
            position: relative;
            height: 100px;
            background: #ddd;
            width: 1000px;
            bottom:0px;
        }
         
        /*  other styles   */
        .header, .footer, .sidebar-left, .sidebar-right, .content
        {
            height:100%;
            font-size: 24px;
            background: #eee;
        }
        .header
        {
            height: 100px;
        }
        .sidebar-left, .sidebar-right
        {
            width: 200px;
            background: #ccc;
        }
        .sidebar-left
        {
            float: left;
        }
        .sidebar-right
        {
            float: right;
        }
        .content
        {
            background: #fafafa;
        }
</style>
<div class="parent">
    <div class="wrap">
        <div class="header">
            Шапка
        </div>
        <div class="sidebar-left">
            Левая колонка
        </div>
        <div class="sidebar-right">
            Правая колонка
        </div>
        <div class="content">
            Центральная колонка
        </div>
        <div class="clear">
        </div>
    </div>
    <div class="footer">
        Футер
    </div>
</div>


Часовой пояс GMT +3, время: 08:43.