購物車按鈕
這邊購物車的按鈕,你只要看上面範例的navbar的購物車按鈕部分就好。
首先,我們在
navbar
裡面塞了一個購物車的按鈕,
這個按鈕有套用dropdown
的功能,我們就可以利用點選它跳出相對應的產品內容。在購物車上方的數字,適用bootstrap中的
badges
元件所製作出來的。
接著,我們需要將這個badge
的位置樣式改成postion:absolute
。
並在他的外層加上position:relative
。
並在badge
裡面設定相對的top
和right
來讓他在cart相對應的位置上。購務車的
dropdown
的內容
我們可以在dropdown-menu
的內容中加入表格、按鈕或相關的內容
dropdown-menu在navbar底下會超出頁面
- 購物車點選出來的
dropdown-menu
內容超出頁面
在bootstrap中有提到,當dropdown-menu
的功能在navbar
中使用的時候,
官網的提示:
Heads up!
Dropdowns are positioned thanks to Popper (except when they are contained in a navbar).
它就不會自動去計算dropdown-menu
的區塊大小是否有超出頁面囉。
首先,先為你的.dropdown-menu加入.dropdown-menu-end
接著,我們要自己寫css樣式來為.dropdown-menu-end調整
寫下以下的內容:
ex:
1 | .dropdown-menu-end{ |
此時,當我們點擊購物車按鈕,這個dropdown-menu就不會超出頁面囉。
jumbotron
當我們有大版面要用的話,就可以套入jumbotron
元件囉。
那這邊就為這個jumbotron
加入一張大圖,並利用background-size:cover;
和 background-position: center center;
來讓這張圖辨變清楚,並且置中。
ex:
1 | ---HTML--- |
卡片式排版與 Grid System 整齊排版手法
我們可以利用格線系統,並在格線系統內加入card
元件,
如此一來就可以在當某一行的card
元素超過格線系統的佈局時,就換行,達成好看的排版。
card-body有自動延展的效果
我們在這邊會使用card
元件是因為card-body
會隨著內容的增加而延展他自己的高度,並不會去擠壓到在同一元件內,像是card-header
和card-footer
的高度,相當方便。
如果,你希望同一區域的card
的高度都一樣的話,為card
元件加上h-100
這個className,這樣就可以讓各個card
都對齊,儘管他們的內容多寡不同。
你可以看到右邊欄位的card
的高度都一樣,儘管他們的card-body
內容不一樣。
另外,就算上方的圖片大小不一樣,也一樣不會影響排版喔。
加上衣服尺寸的樣式使用btn-group
我們可以在上面的範例中的card-footer
取代掉原本的按鈕,加入btn-group
,來創出一個有sm, m, l大小的按鈕,
ex:
1 | <div class="btn-group btn-group-sm"> |
而其中,我們有為其中的m的class加上disabled
,這可以讓該按鈕的樣式無法被點選,用來表示它賣完囉~
為card加上box-shadow的效果
ex:
1 | ---CSS--- |
你為card加上這個box-show的class就有滑過去有陰影變換的效果囉。
利用list-group來變換頁面
ex:
1 | <div class="row"> |
這段比較單純,你叫按照bootstrap的官網提供的內容貼到你的專案中,並更改相對應的id
和href
值,如此應可達成變換頁面的效果了。
btn-group用label和input所構成的樣式
ex:
1 | <div class="btn-group" role="group" aria-label="Basic radio toggle button group"> |
上面這個範例,是用label
和input
所構成的btn-group。
其中有一個input
被我們加入了disabled
,表示該選項不能被選擇。
有disabled屬性的input造成radio為空值的問題
但是,當使用者點到這個被disabled
的選項的時候,這個radio
會呈現空值的狀態,
所以,要避免這種狀況的話,我們要對他的css樣式,加入以下的內容。
記得,這是在用input
和label
構成的input-group才會有的問題喔。
ex:
1 | ---CSS--- |
接下來,你就為那個有disabled屬性的input欄位的className加入disabled,也就是你剛剛自己寫的部分,
如此,就可以避免點擊到disabled的input
選項時,造成該radio
為空值的問題囉。
使用 Alert 元件製作多步驟提示
以上這個範例我們是利用.form-row
來做這個格線系統,並搭配alert
元件來完成這個購買流程的效果。
收合購物車列表及表單排版技巧
在手機板的時候,防止客戶的選購產品太多會占頁面,故我們會用一個收合的效果,當他要開就打開,不要看就收起來,進而提升使用者體驗。
以上的範例,就是用card
元件的版,套進collapse
的效果,當你按下card-header
中的按鈕時,就會顯示出你的商品,若不要看就收闔起來。