在傳統的web開發中,下拉菜單是很常見的組件。但是通常它們都很簡單,沒有什么特別的動畫效果。然而,現在有了CSS3,你可以輕松地實現出各種漂亮的下拉菜單動畫效果。
.dropdown { position: relative; display: inline-block; } ul { list-style: none; padding: 0; margin: 0; position: absolute; top: 100%; left: 0; background-color: #fff; box-shadow: 0px 2px 6px rgba(0,0,0,0.1); opacity: 0; transition: opacity .3s; } .dropdown:hover ul { opacity: 1; } li { padding: 8px 12px; user-select: none; cursor: pointer; } li:hover { background-color: #eee; } .bottom-up { transform-origin: top; transform: scaleY(0); transition: transform .3s cubic-bezier(0.175, 0.885, 0.32, 1.275); } .dropdown:hover .bottom-up { transform: scaleY(1); } .left-to-right { transform-origin: left; transform: scaleX(0); transition: transform .3s cubic-bezier(0.175, 0.885, 0.32, 1.275); } .dropdown:hover .left-to-right { transform: scaleX(1); }
以上代碼,我們定義了一個基礎的下拉菜單結構,以及兩種常見的動畫效果——bottom-up和left-to-right。其中bottom-up是垂直方向從下向上展開的動畫效果,left-to-right是水平方向從左向右展開的動畫效果。當鼠標懸浮在.dropdown元素上時,對應的下拉菜單就會以動畫效果展開。
實際上,還有很多更復雜的下拉菜單動畫效果可以實現,這里只是簡單地介紹了一些基本的實現方式。掌握了這些基礎知識,你就可以嘗試自己實現更加豐富多彩的下拉菜單動畫效果了。