Автор Тема: Абсолютная позиция блока... относительно другого блока?  (Прочитано 2860 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Оффлайн xapon

  • Новичок
  • *
  • Сообщений: 5
  • карма: +0/-0
    • Просмотр профиля
Всем здрасте. Возникла у меня такая проблема. Имеется блок, который нужно размещать над другими блоками, чтобы он их перекрывал. Для этого использую position:absolute. Но приходится указывать положение этого блока. А если разрешение экрана будет не таким как у меня, то вся моя разметка полетит, потому что положение блока указывается относительно границ экрана. Мне нужно позиционировать его внутри моего "главного" блока, в котором содержится весь контент (он выровнен по центру). Но, судя по всему, это либо невозможно, либо придется делать так, чтобы он занимал себе отдельное место на экране, не перекрывая другие блоки - а это неприемлимо. Надеюсь, есть какой-то вариант решения.
Заранее спасибо.

Оффлайн Rex

  • Administrator
  • 7 уровень
  • *****
  • Сообщений: 1811
  • карма: +15/-0
  • Странник
    • Просмотр профиля
    • ВКГУ им. С. Аманжолова
Как вариант вот:


<div style="position:absolute; top:33%;left:33%;z-index:100; width:450px;">
	
Контент дива.
</
div>

Оффлайн Supercharged

  • 2 уровень
  • **
  • Сообщений: 90
  • карма: +4/-1
    • Просмотр профиля
Смотри, тебе не надо top и left задавать вообще. Позиционируй блок с помощью margin. Естественно он должен у тебя находится в том диве, относительно которого ты будешь позиционироваться.

<div>

      <div style="position:absolute;margin:-100px -200px 0 0">
         Это твой плаваюший поверх блок
      </div>

   Относительно этого блока тебе надо размещаться
</div>

Оффлайн Rex

  • Administrator
  • 7 уровень
  • *****
  • Сообщений: 1811
  • карма: +15/-0
  • Странник
    • Просмотр профиля
    • ВКГУ им. С. Аманжолова
Смотри, тебе не надо top и left задавать вообще. Позиционируй блок с помощью margin. Естественно он должен у тебя находится в том диве, относительно которого ты будешь позиционироваться.
<div>
      <div style="position:absolute;margin:-100px -200px 0 0">
         Это твой плаваюший поверх блок
      </div>
   Относительно этого блока тебе надо размещаться
</div>

Да, кстати, так даже удобнее :)

Оффлайн dark_kz

  • 3 уровень
  • ***
  • Сообщений: 177
  • карма: +2/-0
    • Просмотр профиля
    • личный блог
Вот еще по этому шаблону можно сделать:
#CENTERED
{
       position:absolute;
       left:50%;
       top:50%;
       z-index:100;
       width:X px;
       height:Y px;
       margin-left: -X/2 px;
       margin-top: -Y/2 px;
       text-align:center;
       border:1px solid #CCC;
}       

<div id="CENTERED">Центр</div>

Оффлайн xapon

  • Новичок
  • *
  • Сообщений: 5
  • карма: +0/-0
    • Просмотр профиля
Смотри, тебе не надо top и left задавать вообще. Позиционируй блок с помощью margin. Естественно он должен у тебя находится в том диве, относительно которого ты будешь позиционироваться.

<div>

      <div style="position:absolute;margin:-100px -200px 0 0">
         Это твой плаваюший поверх блок
      </div>

   Относительно этого блока тебе надо размещаться
</div>
да, спасибо, ваш совет больше всего помог)
с процентами - в общем подходило, но оказалось что у каждого браузера свое мнение насчет них) то что было в фаерфокс, с точностью до наоборот отображалось в опере.