2012-03-08 2 views
0

Вот JS скрипка, о чем я говорю:Требует ли модальное наложение абсолютное позиционирование?

http://jsfiddle.net/r77K8/98/

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

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

+0

Ваш образец, кажется, работает отлично для меня. После того, как я нажму ссылку «show overlay» и появится всплывающее окно, я больше не могу нажимать «показывать наложение», пока не закрою всплывающее окно. – Travesty3

+0

JS fiddle дал мне неправильную ссылку - ее из примера, на который я смотрел, дерьмо. Один момент. EDIT: Это исправлено сейчас. Это очень простой пример. –

ответ

1

В вашем примере, похоже, что у вас есть содержимое, которое вы пытаетесь отключить ВНУТРИ Оверлейного div. Чтобы это сработало, вам нужно поместить оверлейный div поверх содержимого, поэтому поместите его после вашего содержимого. Таким образом, он закрывает ваш контент div.

И да, ваш оверлей должен иметь абсолютное позиционирование, чтобы вы поместили его в верхнем правом углу родительского контейнера и дали ему 100% ширину и высоту, чтобы он покрывал весь родительский контейнер.

См. Пример this jsfiddle.


EDIT:

Попробуйте this example вместо этого. Поместите содержимое и наложение в контейнер. Таким образом, наложение будет занимать только эту часть страницы.

Обратите внимание, что для этого необходимо, чтобы контейнерные divs (divLink1 и divLink2) должны иметь position:relative. В соответствии с описанием absolute в this link «Элемент расположен относительно его первого позиционированного (не статического) элемента предка». Таким образом, вы должны установить контейнеры в position:relative, но на самом деле их не перемещать.

+0

Да, я полностью понимаю концепцию. Это просто расстраивает из-за сложности/местоположения контента, я пытаюсь скрыть. Содержимое может расширяться/сокращаться после вызовов ajax, и я опасаюсь, что мой оверлей будет выглядеть так, как будто он пытается «догнать», когда пытается восстановить контент после его расширения. –

+0

Обратите внимание, что ваш jsfiddle не делает ссылку недоступной - вы потеряли эту функциональность. Вместо этого он отключает нажатие ссылки, но не исчезает, но, похоже, это просто непрозрачность. –

+0

@SeanAnderson: см. Обновленный ответ. – Travesty3

Смежные вопросы