<div id="one">
(content)
</div>
<div id="two">
<ul>............</ul>
</div>
我希望創建一個看起來#two是從正在添加下來#one,我嘗試使用的過渡,所以當我的影響:將鼠標懸停在#one所以#two似乎是未來從#one下來,但內容呆在那裏,而只有背景變化的大小,我希望整個列表似乎從#one像下面這個網站:http://merryweddings.com/
<div id="one">
(content)
</div>
<div id="two">
<ul>............</ul>
</div>
我希望創建一個看起來#two是從正在添加下來#one,我嘗試使用的過渡,所以當我的影響:將鼠標懸停在#one所以#two似乎是未來從#one下來,但內容呆在那裏,而只有背景變化的大小,我希望整個列表似乎從#one像下面這個網站:http://merryweddings.com/
如果你知道div的大小會彈出,你可以做的「高度」屬性一個簡單的過渡,就像這樣:
你也可以使用在過渡'max-height'屬性並將其設置爲非常大的值。
#two {
max-height: 0;
overflow: hidden;
transition-property: max-height;
transition: all 1s ease-in-out;
}
.wrapper:hover #two {
max-height: 500px;
}
但是在這種情況下,動畫結束可能有點突然。
完美適合我!謝謝! – 2013-05-03 21:14:23
是這個crossbrowser? – 2014-07-12 11:22:32
你可能想用這個JQuery純CSS的。
看看這個例子:http://labs.abeautifulsite.net/jquery-dropdown/
This link也顯示了很多可能的JQuery的解決方案。
請參閱此鏈接在這裏:How can I transition height: 0; to height: auto; using CSS?
也看到鏈接在上面的鏈接的第一個答案是這裏:Can you use CSS3 to transition from height:0 to the variable height of content?
這,不幸的是,你唯一的解決方案,純CSS方法。第二個鏈接顯示了一種解決方法或黑客。第一個給出了一些更多的細節。
下拉的高度是否改變?如果沒有,並且說它始終是500PX高,那麼只能用CSS來完成。否則,它是非常錯誤的,因爲唯一的方法就是動畫最大高度,這使得它有點時髦。如果你沒有在下拉列表中設置特定的高度,那麼你會想要使用javascript/jquery來做到這一點。 – Michael 2013-05-03 20:34:02