2014-10-28 2 views
0

У меня теперь есть проблема, когда я не могу добраться до сути.CSS/JavaScript Absolute vs Fixed positioning

Скажем, у меня есть этот код:

<div id="Father"> 
    <div style="position:absolute" id="Son"> 
    Some random content here.... 
    </div> 
</div> 

Иногда мне нужно Сына, чтобы быть на весь экран, так что я просто применить некоторые топ: 0; Слева направо: 0; и ширина: 100%; высота: 100%; ценности, и это все, потому что он не зависит от Отца. Но иногда я хочу, чтобы Сын оставался относительно Отца и не начинал с самой верхней части страницы, поэтому я просто применяю некоторую позицию: относительный; к Отцу, и все. Сын «обоснован»;

Моя проблема в том, что если я попытаюсь использовать $ («# Father»). Css («position», «fixed»); чтобы снова получить Сына, он, похоже, не работает. Он относится к Отцу независимо от того, какие инструкции я даю.

P.S. Я обновил дисплей Сына (блок/нет), я не ожидаю, что изменения произойдут с Сыном, стоящим на экране.

Надеюсь, вы можете мне помочь.

+2

'$ (" # Father "). css (" position "," "); '? – artm

+0

О, Боже мой, почему я не думал об этом? Так просто :)) Большое спасибо моему другу –

ответ

1

Ребенок будет расположен абсолютно со ссылкой на первого предка с позицией не static или на элемент <body>;

Для «свободного» элемента от ограничений это предков, просто восстановить его статическое положение:

$('#father').css('position','static'); 

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

$('#father').css('position','');