有幾個類似的問題。但這裏有一點變化。css過渡完成後延遲隱藏元素
我正在使用CSS3 transition
在頁面底部顯示一個小div。當我設置課程.show
時,它會向上滑動,當我移除它時,它會滑落並從頁面中移出。
.bar {
transition: bottom 0.3s ease-out, opacity 0.3s;
opacity: 0;
bottom: -44px;
}
.bar.show {
opacity: 0.85;
bottom: 0;
transition: bottom 0.3s ease-out, opacity 0.3s;
}
我的問題是,雖然它會消失,它仍然是一個display:block
元素。這導致我的身體滾動。在轉換後有什麼方法可以設置display:none
(僅使用CSS)?或者一些如何說服body
不滾動? (我已經有overflow: hidden
)。
由於transition-delay
不適用於display
財產。我嘗試了可見性,但瀏覽器仍保留一些滾動空間。
更新: 只是櫃面我們沒有找到什麼好的解決辦法,我已經做到了這種方式現在不是display: none
。
.bar {
transition: max-height 0s linear 0.3s, bottom 0.3s ease-out, opacity 0.3s;
opacity: 0;
bottom: -44px;
max-height: 0;
overflow: hidden;
border-top-width: 0;
padding: 0;
}
.bar.show {
opacity: 0.85;
bottom: 0;
max-height: 50px;
padding: 5px;
border-top-width: 1px;
transition: bottom 0.3s ease-out, opacity 0.3s;
}
你能在'body'元素上設置'overflow:hidden',還是不能在你的情況下工作? – 2014-08-31 18:43:43
元素如何定位......':絕對'? – 2014-08-31 18:44:51
身體沒有固定身高。是的,這是絕對的定位。 – 2014-08-31 18:47:53