假設原本上方會有一排菜單長這樣
https://imgur.com/tUOegCe
當變成手機版時會變成漢堡排
而這些字都會收納到漢堡排中
我現在是用一個很詭異的方式
假設現在有A區塊跟B區塊
電腦版時顯示A區塊,隱藏B
手機版時顯示B區塊,隱藏A
也就是說手機版的區塊中會有漢堡排跟手機版樣式的菜單
電腦版則就是像上方的圖一樣
就像這樣
<?=$DESKTOP;?>
<a class="section-btn ease-in-out" href="#section-2">服務介紹</a>
<a class="section-btn ease-in-out" href="#section-3">成功案例</a>
<a class="section-btn ease-in-out" href="#section-4">聯絡我們</a>
<?=$END?>
<?=$MOBILE;?>
<i class="material-icons header-device-menu-btn">dehaze</i>
<div class="header-device-menu-layout display-none">
<a class="section-btn ease-in-out" href="#section-2">服務介紹</a>
<a class="section-btn ease-in-out" href="#section-3">成功案例</a>
<a class="section-btn ease-in-out" href="#section-4">聯絡我們</a>
</div>
<?=$END?>
請問這種漢堡排情況,什麼是「常規」的做法?
其實不用兩個選單壓,在觸發漢堡選單的部分可以使用lable 搭配checkbox 去觸發,
接著再利用寫好的chekbox去寫CSS,所以你漢堡選單的lable丟在選單裡面或外面都沒有差,利用"~"選擇器去控制你的menu,範例:&:checked ~ menu{被點開之後要變成怎樣}。
接下來是RWD的部分,如果原本的選單是橫的.menu{ display:flex:},然後RWD變成直的就.memu{flex-direction:colum},但是還需考慮選單左右滿版就加入position:fixed;left:0;right:0,top部分自行考慮,至於變回電腦版就加入語法position:static就好
我不知道高手都怎麼做
不過可以直接用 bootstrap 就好
有更多值得煩惱的問題在等你
想知道怎麼達成
可以去觀察 bootstrap 這功能的 css 變化
然後不知道你判斷電腦板或手機板的標準
如果真是字面上的意思
那我用電腦板
視窗拉小
你的 UI 不就毀了