彈窗、模態、提示、浮層,這幾位是什麼關係?

網上搜索了很多介紹,可是還是沒有一個統一的稱呼。

我理解上,模態、彈窗、浮層都是一個東西,模態的區別是在IOS,而且是專註於判斷。

這三者都屬於提示的一種方式,是中斷當前操作的一種方式。

求大牛批~謝謝!


一張圖幫助你說明

iOS:自定義模態(譯文) - 知乎專欄


手機答,不插圖。

模態窗(Modals):

Modals 一般用來做一項具體的任務,例如在某些表單中需要選擇你的學校,由於學校數量多不適宜直接放在表單中,同時也因為它從屬於這個表單而不適宜設計成單獨的頁面,就可以使用 Modals。Modals 可以通過完成任務或點擊外部區域來關閉。

彈窗(可能是警告框,Alert):

Alert 會阻斷用戶當前操作的流程,一般是通過提示來選擇「確定」或者「取消」。Alert 一般不允許通過彈窗外的操作來關閉,但現在很多 Alert 是通過 Modals 的形式展現的。

提示(可能是 Toast):

一般是進行某些操作後會出現的提示,有時間限制,如果不管它就會在一定時間後消失(一般是幾秒鐘)。它們大多時候只是展示信息,但在有些地方,例如 iOS 版 Outlook APP,將「歸檔」和「刪除」後的「撤銷」操作放在了 Toast 中。

浮層(popover 或 popup):

我不太能分清 popover 和 popup 的區別。對於浮層我的理解是通過一定的操作或者自動出現的類似「氣泡」的東西,一般也會承載一定的任務,例如一般網站的消息氣泡。類似的東西還有 tooltip,只負責展示信息,告知用戶此處可以做什麼或點擊此處後會發生什麼(我所說的「類似」是因為它們看上去都是氣泡)。


很遺憾國內交互設計的諸多名詞沒有統一,很多人對模態、彈窗、浮層的定義和理解都不同,我參考iOS人機規範嘗試解答一下,有不正之處歡迎討論。

模態(Modal):UI控制項或視圖的一種狀態,用戶只能對處於模態的控制項或視圖進行響應,不能操作其他非模態的控制項或視圖。

彈窗在iOS上更準確的說法是警告框(Alert):程序運行出現較為嚴重的問題時,告知用戶相關信息,有些會提供有用的選項。警告框是模態的。

浮出層(Popover):是當用戶輕點某個控制項或頁面中的某一區域時浮出的,半透明的臨時視圖。也是模態的。

透明指示層(HUD):iOS平台沒有Toasts這種說法,只有HUD。Toasts是Android的控制項,Toasts和HUD也有諸多不同:1.Toasts一般出現在屏幕下方,HUD出現在屏幕中間。2.Toasts只有文字,HUD可以放圖標。3.Toasts一般是灰黑或黑色半透明,HUD一般是毛玻璃半透明。4.每次產生的Toasts內容不可改變,HUD內容可以改變(比如調節音量時出現的HUD)

警告框是提示信息的一種方式,浮出層是用戶自主觸發的更多是用戶操作和閱讀。


補充下,alert 與pop都是模態的一種,需要進行操作來結束當前的模式,安卓推出的toast不屬於模態與之相似的還有snackbar,他們支持頁面中其它元素的交互並自動消失。另外iOS的actionsheet(操作列表)也是模態。其實這些必須通過操作才能脫離當前模式的狀態都是模態,但根據系統的定義名稱不同,交互與視覺形式不同罷了。比如iOS指南中定義僅僅提示用戶確認的操作不用alert而用ActionSheet,看似相似但是alert從視覺上給用戶的壓力更大用於警示,並且ActionSheet距離手指更近用於提供選擇。

補充下很多人對於popover還是不太理解,簡單的解釋下

通俗點就是你在點擊除了popover的位置的按鈕時是不響應的,只是脫離了pop,所以它仍是模態。然而toast完全不影響其他可交互元素的點擊響應所以顯而易見,toast這類不影響其他界面元素操作的窗口才是非模態

解釋下什麼事模態視圖:

模態視圖也是臨時視圖的一種,通常用於顯示獨立的內容,在模態視圖顯示的時候,它暫時阻斷程序常規業務的執行流程,用戶無法再與上一個場景交互,只能對當前此窗口進行操作,除非他們先關閉這個場景,而普通窗視圖則可以進行任意切換。

補充下臨時視圖,臨時視圖不只有模態視圖,還有很多非模態的視圖,比如安卓的toast,snackbars等。另外iOS人機交互指南中,臨時視圖還包含了另外幾種視圖:操作列表(ActionSheet)、警告彈窗(Alert)以及Popover等。


那如果產品出現多層彈窗,就是第二層彈窗是針對第一層彈窗的某項做操作,這樣合理嗎?有什麼原因嗎


推薦閱讀:

聊天縮略圖背後的故事
留學觀察 | 總結了100個關於交互的問題後,精選了10條送給學交互的你
啊啊啊終於解決了線框/流程圖的大痛點!
是什麼限制你成為優秀設計師?

TAG:交互設計 | 交互設計入門 |