2012-11-28 64 views
3

其實不能相信我解決不了這個!使固定元素服從溢出:隱藏

我怎樣才能得到一個固定的元素服從overflow設置?

我已經做了小提琴 - http://jsfiddle.net/REk4C/7/

enter image description here

在小提琴和上面的圖片,你會看到一個div包含三個div S,各自有不同的position設置。 relative元素服從溢出。現在我期望並且可以接受absolute元素爆發,但是我需要固定元素來服從overflow這是可能的嗎?

如果需要,很高興使用jQuery。

+1

提琴似乎並不完整,一些使用的類缺失 –

+0

Sorted @MichalKlouda謝謝 – Alex

+0

我不明白這是根據w3schools css定位的預期行爲:http://www.w3schools的.com/CSS/css_positioning.asp。沒關係,它只適用於'position:relative'。 – Diego

回答

-1

要解決的絕對定位的div,在容器中創建一個新的位置上下文:

#wrap {height:100px; width:100px; border:20px solid red; overflow:hidden;position:relative;} 

固定定位的div變爲完全脫離的流程的(和潛在的容器外箱),所以它是不可能。爲了演示,使小提琴窗口非常小,並垂直滾動窗口,並觀察在容器外移動的固定div。

+0

不解決我關於固定元素的問題。 – Alex

+0

看來你的目標確實不清楚!真正想用固定定位的div來實現的是什麼? – sphair

+0

我沒有投票的伴侶。我從來不會回答。 – Alex

3

固定和絕對定位元素從正常文檔流中取出,這意味着原始父容器的邊界對元素不再有影響。

+6

稍微有點不正確,如果父母是「親戚」,絕對定位的元素*可以被其父母剪裁 - 但是在任何情況下,固定元素都不能被約束。 – derrylwc

+0

So @derrylwc,是否有任何明智的方法使相對容器中的絕對位置元素表現得像修復一樣? –

+0

如果父元素是視口的寬度/高度的100%,那麼從技術上來說'絕對'孩子的行爲就好像它是固定的。但是對於所有密集的目的,您必須從父項中移除'relative',或者如果要將元素相對於視口進行定位,則只需使用'fixed'。 – derrylwc