Разный фон на одном уровне в псевдорезиновой вёрстке

Терминология:

  • Разный фон на одном уровне — слева один, справа другой. Не ломается в окнах разного размера. Управляемая коллизия.
  • псевдорезиновой вёрсткой я называю, когда фоновая часть растягивается, а контентная центрируется.

Задача:

  • Написать CSS так чтобы справа повторялась одна текстура, а слева — другая. По центру была контентная часть или переходный для фона рисунок.

Решение:

Сначала нарисуем схему:

Из схемы наглядно видим что нам нужно сделать.

Шаг 1: HTML

kill web 2.0

There are some people getting tired of that. Call them revolutionaries, or trend setters.
First I recommend you to read an excellent post Why should your site have "personality" made by Robert, a guest blogger.

Схематически это можно представить как:

Отступы сверху и снизу на схеме просто для наглядности, в релизе их не будет.

Шаг 2: CSS

Для текстуры, которая пойдёт слева нам не нужно создавать отдельного блока. А вот для правого фона — придётся. Практически для всех элементов нужно будет указывать абсолютное (absolute) или относительное (relative) позиционирование.

#outer{
  height: 60px;
  width: 100%;
  background: #70800b url(back1.png);
  text-align: center;
  position: relative;
}
#outer .bg-right{
  position: absolute;
  top: 0;
  left: 50%;
  width: 50%;
  height: 60px;
  background: #70800b url(back2.png);
}
.center{
  width: 800px;
  margin: 0 auto;
  position: relative;
}
#kill-web-2_0{
  width: 259px;
  height: 60px;
  position: relative;
  margin: 0 auto;
  font: bold 12px/60px sans-serif;
  text-align: left;
}
#kill-web-2_0 span{
  position: absolute;
  top: 0;
  left: 0;
  width: 259px;
  height: 60px;
  background: url(kill-web20.png);
}
#why-kill{
  width: 250px;
  height: 60px;
  position: absolute;
  top: 0;
  left: 0;
}
#how-to-kill{
  width: 300px;
  height: 60px;
  position: absolute;
  top: 0;
  right: 0;
}

Если не нравится, что bg-right идёт вначале, можно поменять местами с content. Но тогда необходимо этим двум блокам поменять наложение с помощью z-index.

Ничего сложного, но логика думаю пригодиться.

Работающий пример

Примерно такого же плана задача была реализована в последней моей работе: merapi.lv

Дата: 29.11.2007
»
Категории: CSS
Google     

]]> Тош ]]>

если окно совсем ужать, то правый блок вылазит слева от центрального рисунка :)

»

]]> Никита ]]>

Это можно решить либо динамической шириной левого и правого блоков, либо левому блоку тоже написать background с картинкой как у .outer

»

]]> 3AHO3A ]]>

:) когда еще учился у тебя (Никита) на курсах тож столкнулся с такой поблемой :) решил так:

CSS:
#header_background_black
{
width: 50%;
height: 102px;
background: url(./images/rez_top_black.jpg);
background-repeat: repeat-x;
float: right;
overflow: hidden;
margin:0 ; padding:0;
margin-top: 133px;
z-index: -1;
}

ЗЫ: еще одие такойже див можно поставить и слевой стороны сайта, и покрасить его скажем в зеленый, только ‘overflow: left’ не забыть поставить :) :)

работающий пимер: http://sigmacard.co.uk/

»

]]> 3AHO3A ]]>

:) поправь плз, там перед и после ….. поставь пожалуйсто :)

»

]]> Никита ]]>

Значки тэгов заменяй на < и >
У меня тэги разрешены.

»

]]> Delta ]]>

Этого мне как раз и не хватало

»

]]> Coder ]]>

А я сама решила эту проблему и уже год ей пользуюсь.

»

]]> geniy ]]>

А можно все гораздо проще и чтобы работало везде корректно:)

Сожержимое блока что должно быть в центре , можно прописать еще и на него картинку под низ

#footer {width:100%; height:285px; background:url(../images/footer_left.jpg) no-repeat; background-position:left top;}
#footer_bg_right {width:100%; height:285px; background:url(../images/footer_right.jpg) no-repeat; background-position:right top;}
#footer_copyrights {width:100%; height:285px; text-align:center; color:#000;}

»

]]> фоновая картинка Html | Все картинки рунета ]]>

[...] фоновая картинка html seleckis.lv [...]

»

]]> Html тег фоновая картинка | Все картинки рунета ]]>

[...] html тег фоновая картинка seleckis.lv [...]

»

Напишите комментарий