選單中應用於寬度較窄的版面,由下方延伸是比較好的方式,配合多層收合架構控制節省版面空間。

之前專案中有製作過用css的多層選單,但有個問題是次選單滑入後會往右下方延伸,如果又是多層的話自然所用的空間會更多,如果又是最右的多層選單的話,沒留好空間自然就會有超出視窗,而超出的部份也就無法選到了,除非這使用 JavaScript 來處理,但這好像工程很大。
BootStrap-多層級下拉選單(開合選單)-1

在苦思與找資料看到梅干的一篇文章 (Bootstrap教學-「Bootstrap Navbar導覽列強化!」支援多層級下拉選單)正好可以適合應用,而也把相關的內容做個應証。

See the Pen BootStrap-Navbar導覽列-多層級下拉選單-1 by Jimmy_Wu (@Jimmy_Wu) on CodePen.


參照內容做出來的nav選單,是可以正常使用,不過確有個問題在 firefox ,次層收合選單的icon確會下移一行。
BootStrap-多層級下拉選單(開合選單)-2

針對此bug查找了開發者工具,只要在加上這css就可修正,另外也修改偽元素內的字元。

See the Pen BootStrap-Navbar導覽列-多層級下拉選單-2 by Jimmy_Wu (@Jimmy_Wu) on CodePen.


修改次選單與次次選單的樣式,主要可直接看出下層位置到何處,如果用手機的話在拉動還可以明白目前的階層。
css第二三階的修改,每多一階的話就要多對應的樣式

See the Pen BootStrap-Navbar導覽列-多層級下拉選單-3 by Jimmy_Wu (@Jimmy_Wu) on CodePen.


參考資料

Bootstrap教學-「Bootstrap Navbar導覽列強化!」支援多層級下拉選單