2012-08-29 22 views
1

我試圖使用top和left屬性將jquery popup div對齊到我的屏幕中心。我認爲最好爲這兩個屬性賦予%值,這樣即使瀏覽器窗口調整大小,彈出窗口也會居中。CSS Top和Left百分比值是否取決於屏幕分辨率?

但是,當我實際調整瀏覽器窗口的大小並不像預期的那樣。

所以我的疑問是,我們指定的頂部左側屬性的%值取決於屏幕分辨率嗎?還是他們依賴父容器的大小?

回答

1

他們可能會。百分比是相對於任何包含它的元素。如果這個元素碰巧是窗口本身,那麼是的,這與決議有關。實際上,只要其父母一定會依賴於屏幕分辨率。父母的父母也是如此,等等。有點難以把握。

基本上,如果任何元素「高於」你的元素在層次結構不是取決於分辨率,你的元素也不是。但爲了看它的父母是否取決於分辨率,你必須看那個元素的父親。之後的父母。一直到頂端。或者你可以測試它,看看:)

它有一個絕對定位/大小的元素上面的某個地方在「層次」,那麼機率是依靠屏幕分辨率。

+0

所以,爲了將我的彈出窗口大小直接對應到瀏覽器窗口,它應該作爲body標籤的直接後裔,對吧? – Ivin

+1

@Orbb eh..kinda。這有時會起作用,但如果主體大於窗口(即滾動條),它將不起作用。相反,我只是使用jQuery獲取窗口高度和寬度,並使用它來調整它的大小。您也可能想要將調整大小事件添加到窗口,然後更新元素的大小。 –

+0

感謝那jQuery提示菲利普。好想法。 +1 :) – Ivin

1

%取決於下一個相對父容器的大小。

0

百分比依賴於父母的大小。看到這裏:http://jsfiddle.net/tqWhL/4/紅色的div和#a一樣寬。

由於body瀏覽器窗口寬度的100%,你可以讓你的div body一個孩子,將其設置爲100%的寬度。