Modal
一 . 基本版型
(一) . 成果圖和分析
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
- 功用 :
- 可以是event trigger觸發的一個提示框。
- 跳出後可以使用按下背景,或提示框內的部分元件關閉。
- 分析 :
- 第一點 : 按下後背景固定,出現一個置中提示框。
- 需要一個充滿整個螢幕的背景框,且可以消去 : 『display:none -> block』、『position:fixed』。
- 需要一個置中的屬性控制內元素 : 『display:flex』。
- 需要兩個背景兩個內景容器,去達成兩個要求。
- 第二點 : 中間的提示框,通常必有『header和body和footer』,可以視為card的佈局。
(二) . 實作一 : 背景處理
1. 概念 : 使用兩個背景容器。
- 第一個放在最外層,控制整個modal的出現和關閉。
- 第二個放在第二層,控制內部card的排版。
2. 第一層實作 :
- css屬性:
- display控制modal出現。
- fixed屬性將modal出現時固定在螢幕的位置。
- top和高寬屬性將元素滿版。
- 背景屬性 : 控制顏色效果,記得加入透明度。
- Js控制 : modal出現需要用加入js選取內容。
- modal外部設定一個trigger function。
- modal設定id元素以供外部選取。
- 使用bubble機制控制modal的關閉。
2. 第二層實作 :
- 背景處理排版。
- 用flex屬性排版。
- 可以將元素置中,或做其他設定。
- 高寬滿版,與第一層背景合再一起。
- 屬性 :
- 因為js函式設定的是按到modal引發的bublle會觸發關閉modal。
- 一般設定下,第二層滿版第一層,按下第二層不會觸發第一層的設定。
- 這個設定可將一般預設去除,讓上層元素的案件事件可以同時觸發下層的。
(三) . 實作二 : card處理
1. 概念 : modal提示框就是card的一個例子
- card部分 :
- 通常會包含三個子部分:『header、body、footer』。
- 通常會定寬,設定max高和overflow。
- header部分 : 通常包含兩個小元素
- title :
- 關閉符號 :
- footer部分 : 尾端有一群按鈕。
- 有一個關閉的按鈕。
- 或是其他連結功能的按鈕。
2. card實作:
- 定寬 :
- 因為card元素上一層就是背景,不會想要和背景滿版。
- 設定為固定寬度的modal,也比較符合現在框架的架構。
- 最大高和overfolw :
- 因為modal裝的內容能很多。(通常應該是body)
- 但不會想要讓modal超過螢幕大小。
- 所以設定最大高和overfowg屬性。
- padding處理 :
- 因為希望header和footer的分割線可以滿版。
- 所以不設card的padding。
- 排版 :
- 因為modal的header通常只會裝兩個子元素。
- 所以用flex和特殊屬性排版,同常用space-between。
- 可以將字體的處理只定給modal-tile的class。
- padding和border處理 :
(四) . 基本版型總結
二 . 改良版型 : overflow限制於modal-body