960 gs, фон полной ширины

Я пытаюсь реализовать дизайн, который я создал в фотошопе. Я хочу использовать 16 столбцов 960 GS, но проблема в том, что мне нужен только контент, ограниченный шириной 960.

У меня есть фоны для 4 отдельных областей. Заголовок, область содержимого, верхний нижний колонтитул со ссылками и нижний нижний колонтитул с указанием авторских прав.

Верхняя половина страницы работает нормально. Фоны видны, текст на месте. Проблема возникает с нижним колонтитулом. Если данные в области содержимого превышают минимальную высоту для области содержимого, ссылки в верхнем нижнем колонтитуле сдвигаются вниз, но фон остается неподвижным. Я подозреваю, что это связано с тем, что весь контент плавает и не выталкивает фоновые элементы div при расширении контента.

Как мне получить фон полной ширины при использовании 960 gs и сделать так, чтобы нижний колонтитул скользил вниз при расширении содержимого?

Вот базовая оболочка для моего сайта. Я понимаю, что это может не сработать для того, что я хочу сделать.

<body>
  <div id="header">
    <div class="container_16">

    </div>
  </div>
  <div id="content">
    <div class="container_16">

    </div>
  </div>
  <div id="footer-top">
    <div class="container_16">

    </div>
  </div>
  <div id="copyright-footer">
    <div class="container_16">

    </div>
  </div>
</body>

css для 960 GS находится здесь: http://www.spry-soft.com/grids/grid.css?column_width=40&column_amount=16&gutter_width=20

Мой CSS — я опустил элементы, которые имеют отношение к определенному контенту, так как это просто для правильного макета:

html, body
{
    height: 100%;
}

body
{
    color: #f7f3e7;
    margin:0; 
    padding:0;
    background-color: #f7f3e7;
    line-height: 1.2em;
    font-size: 0.8em;
    font-family: Verdana, Arial, Sans-Serif;
}

#header
{ 
    height: 100px; 
    margin:0; 
    padding:0; 
    background: #666666 url(content/images/Home-Header-Bg.jpg) repeat-x; 
}

#content
{
    min-height: 550px;
    /*min-height: 546px;*/
    margin:0; 
    padding:0; 
    background: #f7f3e7 url(content/images/Home-Content-Bg.jpg) repeat-x top;
}

#top-footer
{
    font-size: .8em;
    min-height: 188px;
    margin:0; 
    padding: 6px 0 6px 0; 
    background: #a67c52 url(content/images/Top-Footer-Bg.jpg) repeat-x top;
}

#copyright-footer
{
    height: 32px;
    vertical-align: middle;
    font-size: 0.8em;
    line-height: 32px;
    margin:0; 
    padding:0; 
    background: #976f46 url(content/images/Copyright-Footer-Bg.jpg) repeat-x;
}

заголовок, содержимое, нижний колонтитул и нижний колонтитул с копирайтом имеют заданный фон и высоту или минимальную высоту.

На самом деле я хочу, чтобы заголовок имел высоту 100 пикселей. Нижний колонтитул с копирайтом имеет высоту 42 пикселя. Верхний нижний колонтитул имеет высоту 200 пикселей. Я хочу, чтобы нижняя часть нижнего колонтитула авторского права всегда располагалась внизу страницы, если область содержимого достаточно коротка, чтобы нижний колонтитул не касался нижней части страницы. Если область содержимого расширяется, я хочу, чтобы нижний колонтитул скользил вниз. Я хочу, чтобы фоны для всех разделов были 100% - то есть, какой бы ширины ни был браузер, но я хочу, чтобы мой контент был привязан к системе сетки 960.

Какие-либо предложения?

РЕДАКТИРОВАТЬ: добавлен CSS по запросу


person Josh    schedule 22.12.2009    source источник
comment
У вас есть пример онлайн?   -  person Sampson    schedule 22.12.2009
comment
Да, я думаю, нам нужно немного CSS, чтобы ответить на этот вопрос.   -  person Nate B    schedule 22.12.2009
comment
Я добавил css. Для области контента вам, возможно, придется изменить цвет текста, чтобы увидеть его, как я делаю это в своих отдельных разделах в своем контенте.   -  person Josh    schedule 22.12.2009


Ответы (3)


Я бы создал div под названием «контент», который содержал бы другие div и делал положение других div относительным. Раздел 'content' будет иметь подходящую ширину для того, что вы хотите сделать. Кроме того, для каждого столбца вы можете использовать свойство css float.

person Partial    schedule 22.12.2009
comment
У меня было что-то подобное для начала, но это не помогло. - person Josh; 22.12.2009

Просто оберните классы контейнеров тегами <div> и стилизуйте их. Не забудьте добавить .clear div после каждой «строки» в контейнерах (даже если у вас есть только одна «строка»), иначе это не будет работать должным образом.

<div id="container">
  <div class="container_16">
    <div class="grid_16"><h1>Hello, World!</h1></div>
    <div class="clear"></div> <!-- Important! -->
  </div>
</div>
person Veeti    schedule 22.12.2009

Я понял. Мне нужно было сделать нижний колонтитул плавающим.

Разметка:

<body marginwidth="0" marginheight="0 leftmargin="0" topmargin="0">
    <div id="page-wrapper">
    <div id="header" class="container_full">
        <div class="container_16">
        <div id="logo" class="grid_4 alpha"><a href="/"><img src="content/images/logo-beta.png" /></a></div>

        <div class="grid_10 push_0">
        <ul id="navigation" class="clearfix-header">
            <li><a class="header-link" href="#">About</a>
                <span class="sub-navigation">
                    <a class="sub-link" href="#">Info</a>, <a class="sub-link" href="#">Terms</a></li>
                </span>
            </li>
            <li><a class="header-link" href="#">Account</a>
                <span class="sub-navigation">
                    <a class="sub-link" href="#">Sign In</a>, <a class="sub-link" href="#">Sign Up</a>
                </span>
            </li>
        </ul>
        </div>

        </div>
    </div>

    <div id="content" class="container_full">
        <div class="container_16">

            <div id="page-content" class="grid_16">Page Content</div>

        </div>
    </div>

    <div id="footer">
    <div id="top-footer">
        <div class="container_16">
            <div class="grid_3">
                <h4>Navigation</h4>
                <ul>
                <li><a href="#">Sample Link</a></li>
                <li><a href="#">Sample Link</a></li>
                <li><a href="#">Sample Link</a></li>
                <li><a href="#">Sample Link</a></li>
                <li><a href="#">Sample Link</a></li>
                <li><a href="#">Sample Link</a></li>
                </ul>
            </div>
            <div class="grid_3">
                <h4>Navigation</h4>
                <ul>
                <li><a href="#">Sample Link</a></li>
                <li><a href="#">Sample Link</a></li>
                <li><a href="#">Sample Link</a></li>
                <li><a href="#">Sample Link</a></li>
                <li><a href="#">Sample Link</a></li>
                <li><a href="#">Sample Link</a></li>
                </ul>
            </div>
            <div class="grid_7">
                Big content area
            </div>
            <div class="grid_3">
                <h4>Boring Stuff</h4>
                <ul>
                <li><a href="#">Terms of Use</a></li>
                <li><a href="#">Privacy Policy</a></li>
                <li><a href="#">Legal Mumbo-jumbo</a></li>
                </ul>
            </div>
        </div>
    </div>

    <div id="copyright-footer">
        <div class="container_16">
            <div class="grid_16">
                Copyright statement
            </div>
        </div>
    </div>
    </div>
    </div>
</body>

CSS:

#footer
{
    width:100%;
    float: left;
    height: 232px;
    position: relative;
    clear:both;
}

#top-footer
{
    width:100%;
    font-size: .8em;
    height: 200px;
    margin:0; 
    padding: 6px 0 6px 0; 
    background: #a67c52 url(content/images/Top-Footer-Bg.jpg) repeat-x top;
}

#copyright-footer
{
    width:100%;
    height: 32px;
    vertical-align: middle;
    font-size: 0.8em;
    line-height: 32px;
    margin:0; 
    padding:0; 
    background: #976f46 url(content/images/Copyright-Footer-Bg.jpg) repeat-x;
}
person Josh    schedule 23.12.2009