[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Непонятки с позицианированием
Страницы: 1, 2
Shkiper
Всем привет. Я тут смотрел курс Инпоста про позиционирование и создался один вопрос. Вот его суть: Он сказал что если создать див(можно другой любой элемент, но я взял див) и задать ему position: relative; то все элементы в этом диве с position: absolute; будут позицианироватся относительного родителя(тоесть первого дива с position: relative;). Так вот а если мне нужно все элементы внутри вложенного дива(это который в диве с position: relative;) позиционировать относительно его. То есть, вот два дива:
<div style="position: relative;">
<div
style="position: absolute:"></div>
</div>

Тут вложенные див позиционируется относительно родителя. Теперь смотрите следующую схему:
<div style="position: relative;">
<div
style="position: absolute:" id="layer1">
<div
id="layer2"></div>
</div>
</div>

А теперь скажите как мне див с id="layer2" позиционировать относительно дива с id="layer1" ведь если я ему задам position: absolute; то он не будет позицианироватся относительно нужного мне дива, потому что у него стоит position: absolute; а не position: relative;
Rock_N
Задашь дополнительно блоку с id="layer1,помимо position:absolute,position:relative.И тогда блок id="layer2",будет позиционироваться уже относительно первого блока с id="layer1:)

_____________
Сумашедшим жить легко=)
Shkiper
Rock_N это как?
Так чтоли:
position: absolute, relative;

или так?
position: absolute;
position: relative;
Rock_N
Второй вариант:)

_____________
Сумашедшим жить легко=)
Shkiper
Rock_N спасибо smile.gif
BaNru
Rock_N, не неси херню.
Не сработают два правила. Срабатывает правило, которое идет вторым.
position: absolute;
position: relative;

равно
position: relative;
arlamar
Первое что приходит в голову, это обернуть див с id=layer2 в ещё 1 див с позишн релатив.

Сам не проверял, но кажется должно работать.
Shkiper
BaNru мне тоже так казалось, и по этому второй вариант я мысленно исключал, т.к. первый более реалистичнее, однако он работает а просто с релейтив НЕТ rolleyes.gif
BaNru
Это в каком же браузере работает?
И пруфлинк в студию
Shkiper
BaNru браузер ХРОМ. http://zzika.16mb.com/position.html
innovate
Shkiper
А теперь в layer1 убери position: relative, а в layer2 убери position: absolute и ты наверно будешь удивлен, что ничего не изменилось. wink.gif
Shkiper
Ха, ничего не изменилось smile.gif
l@pteff
Цитата

А теперь скажите как мне див с id="layer2" позиционировать относительно дива с id="layer1" ведь если я ему задам position: absolute; то он не будет позицианироватся относительно нужного мне дива, потому что у него стоит position: absolute; а не position: relative;

По-моему, ты слишком все усложнил. На практике если такие ситуации и случаются, то как правило выручает манипулирование свойством margin))
Shkiper
l@pteff можно показать на примере?
l@pteff

#layer {
position:relative;
height:400px;
width:400px;
background-color:#000;
}

#layer1 {
position:absolute;
left:50px;
top:50px;
width:200px;
height:200px;
background-color:#ddd;
}

#layer2 {
margin:50px 0 0 50px;
width:100px;
height:100px;
background-color:#fff;
}



<div id="layer">
<div
id="layer1">layer1
<div id="layer2">layer2</div>
</div>
</div>

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.