2012-01-24 75 views
4

有沒有辦法在第一個摺疊下面「推」div,這樣它就不會在頁面加載時顯示,除非用戶向下滾動?我知道有一些名爲Jquery的視口,但不知道如何使用它。我不希望DIV被CSS「隱藏」。第一次推DIV? jQuery的?

回答

2

如何使用jQuery來設置你的元素的topmargin-top CSS屬性,等於viewport的高度:

$(function() { 
    $('#my-under-the-fold-element').css({ 
     top : $(window).height() 
    }); 
}); 

接下來,你需要讓你的元素絕對定位。

這裏是一個演示:http://jsfiddle.net/CtgUB/2/

10

你不需要任何JavaScript!只是好'的CSS。將<body>的孩子的元素設置爲position:absolute; top:100%;,並且您已獲得低於元素的摺疊元素。

.below { 
    position: absolute; 
    top:100%; 
} 

另外,與使用javascript設置靜態頂部或邊距不同,即使在調整瀏覽器窗口大小後,此功能仍然有效。

這裏有一個的jsfiddle與完整標記:http://jsfiddle.net/ubhBL/

+0

+1,由於某種原因,我認爲,'頂:100%'在'位置:absolute'元素將其推到文檔的底部,不只是視口的底部。 – Jasper

+0

@shruggernaut你錯了。 OP不使用與「插入」相似的單詞。這個問題清楚地問到如何定位一個元素相對於視覺視口 - 而不是在DOM內重新定位。事實上,人們甚至不能假設DOM超出頁面摺疊範圍來正確插入。我提供的解決方案(大約四年前,介意你)解決了這個問題,因爲它被問到:「有沒有辦法在首次摺疊之下」推「一個div,以便在頁面加載時從不顯示,除非用戶向下滾動?」並且在不知道內容長度或視口大小的情況下這樣做。 – rgthree