2013-05-03 60 views
0

例子:如何創建滾動的菜單? CSS

<div id="one"> 
    (content) 
</div> 
<div id="two"> 
    <ul>............</ul> 
    </div> 

我希望創建一個看起來#two是從正在添加下來#one,我嘗試使用的過渡,所以當我的影響:將鼠標懸停在#one所以#two似乎是未來從#one下來,但內容呆在那裏,而只有背景變化的大小,我希望整個列表似乎從#one像下面這個網站:http://merryweddings.com/

+0

下拉的高度是否改變?如果沒有,並且說它始終是500PX高,那麼只能用CSS來完成。否則,它是非常錯誤的,因爲唯一的方法就是動畫最大高度,這使得它有點時髦。如果你沒有在下拉列表中設置特定的高度,那麼你會想要使用javascript/jquery來做到這一點。 – Michael 2013-05-03 20:34:02

回答

3

如果你知道div的大小會彈出,你可以做的「高度」屬性一個簡單的過渡,就像這樣:

http://jsfiddle.net/BeDQr/

你也可以使用在過渡'max-height'屬性並將其設置爲非常大的值。

#two { 
    max-height: 0; 
    overflow: hidden; 
    transition-property: max-height; 
    transition: all 1s ease-in-out; 
} 
.wrapper:hover #two { 
    max-height: 500px; 
} 

但是在這種情況下,動畫結束可能有點突然。

+0

完美適合我!謝謝! – 2013-05-03 21:14:23

+0

是這個crossbrowser? – 2014-07-12 11:22:32

1

你可能想用這個JQuery純CSS的。

看看這個例子:http://labs.abeautifulsite.net/jquery-dropdown/

This link也顯示了很多可能的JQuery的解決方案。

+0

不,那不是什麼即時通訊討論,請參閱我指向的網站 – 2013-05-03 20:30:26

+0

好吧,我很確定這可以用JQuery插件完成,但我不知道只有CSS。 – Simon 2013-05-03 20:34:00

+0

僅通過CSS可以實現,但前提是下拉框的高度是固定的並且不會更改。如果下拉更改高度,那麼JavaScript/jQuery是解決方案。 – Michael 2013-05-03 20:34:57