我正在使用angular和css進行滑動頁面轉換,並且有一個很好的轉換工作版本,類似於this plnker。這工作正常,但CSS是使用'絕對',它把頁面流中的元素排除在外,隱藏了其餘部分 - 即頁腳。頁面轉換爲可變頁面內容保留頁腳和頁眉
正在進行轉換的內容因頁面而異。頁腳被隱藏,因爲顯示內容的許多父母的高度爲0px;
因此,我刪除了absolute
,現在過渡發生了類似於this的情況,其中div再次處於頁面流中,但是當過渡浮動在彼此之上和之下時。
我可以使用轉換,使新的div在同一級別的退出格輸入通過改變
.slideRight.ng-leave {
transition-property: all;
transform: translate3d(0,0,0);
}
.slideRight.ng-leave.ng-leave-active {
transition-property: all;
transform: translate3d(100%,0,0);
}
到
.slideRight.ng-leave {
transition-property: all;
transform: translate3d(0,-100%,0);
}
.slideRight.ng-leave.ng-leave-active {
transition-property: all;
transform: translate3d(100%,-100%,0);
}
如本plnker。但是,問題在於div高度仍然會影響頁面,所以當新div進入並且頁面的其餘部分受到影響時,您可以看到垂直滾動條。
進入頁面的div可以是不同的高度,所以我不認爲只是在父div上設置定義的高度,並且設置overflow-y: hidden
是一個選項。
我不明白爲什麼'position:absolute;'不是一個選項?它將這個元素從流中取出,但'.page-container'是相對的,所以這個元素就像流中的包裝器一樣。 – 2014-11-04 12:33:47
@JanHommes我記得試圖讓這個工作與一個頁腳和掙扎。我希望頁腳與頁面頂部導航保持一致。也許位置:絕對可能是好的 – myol 2014-11-04 12:53:33
該元素對於下一個定位的元素總是絕對的。如果沒有,那對身體來說是絕對的。所以如果你的頁面轉換是相對於你的容器div而頁腳是相對於body而言的話,應該沒有問題。 – 2014-11-04 12:56:38