2014-05-13 62 views
0

我想我在這裏有一種超特殊情況。CSS固定/絕對定位到更早的親戚?

我正與許多包括。現在我正在編寫一個包含的內容文件。在那裏,我需要一個燈箱,其中包含整個頁面的20%的黑色背景,其中包括標題,它是固定的,並且在先前的PHP文件中設置爲z-index 200.

#overlay-wrapper因爲這些包括在#content,這是由於其他原因position: relative。包裝的寬度和高度都是100%,z-index是1000.但是,從邏輯上講,它只覆蓋內容區域而不是整個視口。

基本上我現在需要一種方法來告訴#overlay-wrapper相對於身體而不告訴內容不是相對的,因爲如上所述,我需要它在其他情況下是相對的。

將覆蓋文件放在另一個文件中會很痛苦,我只是好奇,是否可以告訴一個盒子相對於「更早」的父親而言,而不僅僅是他發現的第一個。

+2

我想你忘了發佈你的代碼。 :)至於問題,如果你有權訪問jQuery UI,你可以使用'.position()'。 – kmoe

+0

一個絕對定位的元素將永遠是相對於它所具有的第一個相對定位的父元素。當你說疊加寬度和高度是100%時,應該是屏幕還是#content div?如果是屏幕,只需將其固定而不是絕對的,因爲固定總是相對於視口定位 – Pete

回答

0

只要#overlay-wrapper是內#content#content被相對定位,#overlay-wrapper將始終相對於#content定位。如果不在DOM中重新定位#overlay-wrapper,則無法解決此問題。

您需要通過修改您的PHP包含(甚至可能將它移動到單獨的包含其自己幷包括其他地方)或通過使用JavaScript在頁面加載時重新定位它,您需要將#overlay-wrapper移出#content