2012-06-05 28 views
0
<div class="container1"></div> 
<div class="container2"><div class="container2-inner"></div></div> 

.container1 { height: 5000px; } 
.container2 { height: 100%; width: 100%; position:absolute; } 
.container2-inner { height: 1000px; margin: 0 auto; } 

.container2-inner高度根據裏面的內容而變化(.container2是覆蓋彈出窗口)。棘手的CSS滾動長度

如果.container2-inner超過5000像素,目前縱向瀏覽器滾動總是5000px,不管怎樣或更多。當彈出窗口處於活動狀態時,我想滾動爲只有1000px,但我仍然希望保持5000px的高度.container1以下。我如何實現這一目標?

回答

1

不知道,我不是理解你的問題,根據您的描述,但也許像...

CSS

HTML, BODY {padding:0;margin:0;} 
.container1 {height:5000px;background:red;} 
.container2 {height:100%;width:100%;position:absolute;top:0;left:0;background:green} 
.container2-inner {height:1000px;width:400px;overflow-x:hidden;overflow-y:scroll; margin:0 auto;background:yellow} 

HTML

<div class="container1"></div> 
<div class="container2"> 
    <div class="container2-inner"> 
    Start Here<br /> 
    ...<br />...<br />...<br />...<br />...<br />...<br /> 
    ...<br />...<br />...<br />...<br />...<br />...<br /> 
    ...<br />...<br />...<br />...<br />...<br />...<br /> 
    ...<br />...<br />...<br />...<br />...<br />...<br /> 
    ...<br />...<br />...<br />...<br />...<br />...<br /> 
    ...<br />...<br />...<br />...<br />...<br />...<br /> 
    ...<br />...<br />...<br />...<br />...<br />...<br /> 
    ...<br />...<br />...<br />...<br />...<br />...<br /> 
    ...<br />...<br />...<br />...<br />...<br />...<br /> 
    ...<br />...<br />...<br />...<br />...<br />...<br /> 
    ...<br />...<br />...<br />...<br />...<br />...<br /> 
    ...<br />...<br />...<br />...<br />...<br />...<br /> 
    End Here 
    </div> 
</div> 

您可以在http://dabblet.com/gist/2876726

看到的結果
+0

是的,幾乎有:)我只是不想雙滾動(身體的一個應滾動黃色區域)。那可能嗎? – Atadj

+0

呃...沒有什麼優雅,真的我不確定你會想要這樣做的可用性問題,但只是爲了好玩... http://dabblet.com/gist/2877502。這是非常hacky和有限制。 –

+0

這就是我一直在尋找的東西:)現在我看到一些CSS限制,使我無法實現我想要的東西。謝謝你的解決方案! – Atadj

1

聽起來像你想.container2是一個模式彈出? 嘗試在身體上設置overflow:hidden,當彈出窗口處於活動狀態時,並在關閉時將其刪除。

+0

是的,這就是我想要的,但如果我這樣做有一個問題...我不能使用正文的滾動條來滾動該彈出窗口。我不想第二個容器只有那個彈出窗口的內部滾動條。感謝您的迴應:) – Atadj

+0

然後,您應該給.container1一個父高度:100%的div,並設置「overflow:hidden」到這個div。 – iddo

+1

謝謝!其實這裏發佈的所有答案都對我有用:)每個人都提供了一些解決方案,包括這一個。我認爲這個問題解決了。再次感謝你! – Atadj

2

我不知道我是否正確理解您的問題。

您可以通過使用實現模態的內滾動。

overflow:scroll 

但它不適用於所有瀏覽器。

我發現這個fiddle在其他Stack Overflow Question可能會幫助你。

<div id="wrapper"> 
    <div id="scroller"> 
    </div> 
</div>​ 

#wrapper { 
    width: 150px; 
    overflow: hidden; 
} 

#scroller { 
    width: 170px; 
    height: 100px; 
    overflow: auto; 
} 

謝謝Pumbaa80。 在這裏,您可以看到#scroller 20px超過#wrapper,您可以在不使用滾動條的情況下實現滾動效果。

+1

謝謝!其實這裏發佈的所有答案都對我有用:)每個人都提供了一些解決方案,包括這一個。 – Atadj

+0

謝謝流:) :) – Katti