2011-08-10 87 views
3

我有一個固定的高度可滾動<div id="overlay">使用position:fixed定位在所有頁面元素上。在div中,我的元素高於固定高度,因此滾動條出現。我也有一個工具提示,即使它滾動,我想留下一個段落。創建一個位置:絕對div通常在另一個可滾動的div中滾動

這就是我想要在這裏發生的事情,但不幸的是我的解決方案都沒有正常工作:

  1. 我將position:absolute添加到工具提示,將position:relative添加到#overlay(工具提示的父級):http://jsfiddle.net/4qTke/

    工具提示按預期滾動但在#overlay外部不可見。

  2. 我只將position:absolute添加到工具提示:http://jsfiddle.net/Yp6Wf/

    工具提示在父#overlay之外可見,但在滾動div時不會移動。

我希望工具提示始終可見,以便在滾動時移動。

+0

真的很好重寫,謝謝! – Pioul

+0

不客氣。很高興有幫助。是否只有一個工具提示?它需要在哪裏出現,即在段落的下面或側面以及容器的內部還是外部? – tw16

回答

2

你想要什麼只用CSS和HTML是不可能的。

您遇到的主要問題是您在#tooltip相對於的容器上設置了overflow: scroll。由於這種溢出屬性出現其邊緣外的任何停止的內容時,當滾動到你的位置#tooltipdiv它會被隱藏的「外」,只有可見。

它在您的第二個場景中可見的原因是因爲未設置position:relative您的#tooltip是相對於頁面而不是容器。這意味着它不受容器的overflow:scroll屬性的影響。

+0

你說得對,我也沒多想就這樣..我想我將不得不把該段落在可滾動區域的頂部有一個工具提示,以便它不會經常溢出。 – Pioul

1

HTML:

<div id="overlay"> 

    <div class="elemRel"> 

     <div class="elemAbs"> 

      <!-- Your Code --> 

     </div> 

    </div> 

</div> 

CSS:

#overlay { position:fixed; } 
.elemRel { position:relative; } 
.elemAbs { position:absolute; } 
+0

感謝您的回答,但是這就是我在做我的第一點,這不是我想要什麼:/ – Pioul

0

也許這是你的選擇嗎?見demo fiddle

+0

這將使其成爲一個常規使用,但不能在我的情況,我真的需要提示留下的段落,並遵循它,當我滾動。我猜@ tw16是正確的,沒有辦法做到這一點,至少不使用一些JavaScript。 – Pioul