Material Design 中较优的表单设计方案及实现方式

阅读时长 12 分钟读完

什么是 Material Design?

Material Design 是由 Google 提出的一套设计语言,主要用于移动应用的设计。它的目的是为了在各个平台上,以一种层次清晰、流畅自然、物理感强的方式呈现用户界面。

Material Design 的特性包括:

  • 官方提供的调色板和字体,让设计人员能够快速选择颜色和字体,统一的配色方案也让应用更具整体感;
  • 通过呈现“虚拟纸张”的形式,使得用户体验更具现实感;
  • 通过合理使用大小、层次、颜色等视觉元素,生成合理、具有空间和层次感的界面。

Material Design 从元素级别(控件、布局)到全局层面都通用,可以在 Android、iOS、Web 等多个平台上使用。

为什么要使用 Material Design 的表单设计方案?

表单是用户输入数据最主要的交互方式之一,也是我们在前端开发中常常会用到的一类组件。如何设计一个好的表单,不仅能够获得用户的信任,更能够有效地提高用户的体验,这就涉及到表单设计的各个方面内容。

Material Design 的表单设计方案特点有:

  • 友好的交互方式:Material Design 表单设计方案考虑了用户的习惯和心理模型,提供了友好直观的交互方式。
  • 风格简洁、直观:Material Design 表单设计方案一直强调界面的简洁性、轻松感。设计风格以简明、轻盈、舒适为主要特点。
  • 对细节设计的重视:Material Design 以细节设计着称,包括控件的动画效果、颜色和图标摆放等等,都十分精致细腻。

Material Design 表单设计的核心要素

1. 输入控件与提示场景

Material Design 表单输入控件分为三种:

  • 文字输入框
  • 开关
  • 选择器

在提示场景中,开发人员可以使用以下提示文案:

  • 占位符(placeholder):在输入框中显示帮助文本,一般与输入框的标签一致
  • 标签(label):在输入框上显示标签,用于指定此输入框显示的内容
  • 帮助文本(helper text):输入框右下角的提示文本

2. 状态标志

Material Design 中的状态标志有以下几种:

  • 必填标志:当输入框必须输入时,需在标签中显式标明
  • 动态提示:可以实时反馈用户输入状态,如密码强度等
  • 错误提示:用户输入错误时,应在输入框外部给出提示

3. 色彩设计

Material Design 表单采用基于色彩的输入法,通过统一的配色方案来确保整个应用的视觉风格统一。

在颜色方面,常常会使用 主色、次要色、强调色 等,需要将这些颜色设置为全局变量,方便后期的调配和管理。

4. 布局设计

在表单的布局设计中,Material Design 的主要特点是:超过两个输入框后,自动排列到下一行,保持使用上的简化和整洁。

实现 Material Design 的表单设计方案

下面通过代码演示如何实现 Material Design 下表单设计的方案。

1. 文本输入框

-- -------------------- ---- -------
---------- -
  -------------- -----
-

------------ -
  -------- ------
  -------------- ----
-

----------- -
  -------- ------
  ------ -----
  -------- ----
  ------- --- ----- --------
  -------------- ----
-

----------------- -
  ------------- --------
-

2. 开关

-- -------------------- ---- -------
---- ------------------
  ----- --------------------------------
  ---- -----------------------
    ------ ---------------
      ------ ----------------
      ----- ----------------------
    --------
  ------
------
-- -------------------- ---- -------
------------- -
  ------------ -----
  -------- -------------
  --------------- -------
  ------------- -----
-

--------------- -
  -------- -------------
  --------------- -------
  --------- ---------
  ------ -----
  ------- -----
-

--------------- ------- -
  --------- ---------
  ---- --
  ----- --
  ------ --
  ------- --
  -------- -------------
  ------ -----
  ------- -----
-

--------------- ------- ----- -
  -------- -----
-

--------------- ------- ------- -
  --------- ---------
  ---- --
  ----- --
  ------ --
  ------- --
  ----------------- --------
  -------------- -----
  ----------- --- --- -----
-

--------------- ------- ------------- - ------- -
  ----------------- --------
-

--------------- ------- --------------- -
  --------- ---------
  -------- ---
  ------- -----
  ------ -----
  ----------------- -----
  -------------- ----
  ---- ----
  ----- ----
  ----------- --- --- -----
-

--------------- ------- ------------- - --------------- -
  ---------- -----------------
-

3. 选择器

-- -------------------- ---- -------
----------- -
  --------- ---------
-

----------- ------------------ -
  -------- ------
  ------ -----
  ------- -----
  -------- ----
  ----------------- -----
  ------- --- ----- --------
  -------------- ----
  ----------- -----
-

----------- ----------------------------------------------------- -
  --------- ---------
  ---- ----
  ------ ----
  ------ -----
  ------- -----
  -------------- -----
-

---------- -
  --------- ---------
  ---- -----
  ------ -----
  ------ ----
  ------- ----
  ----------- --- ----- -----
  ------------- --- ----- -----
  ---------- ---------------
-

4. 表单布局

-- -------------------- ---- -------
---- -------------
  ---- ------------------
    ------ ------------------- ----------------------
    ------ ----------- ------------------ --------- -------------------- ---------
  ------
  ---- ------------------
    ------ ------------------- -------------------------
    ------ --------------- ------------------ ------------- ------------------- ---------
  ------
  ---- ------------------
    ----- --------------------------------
    ---- -----------------------
      ------ ---------------
        ------ ----------------
        ----- ----------------------
      --------
    ------
  ------
  ---- ------------------
    ------ --------------------------------
    ---- -------------------
      ------ ------------
      ----- -------------------------
    ------
  ------
------
-- -------------------- ---- -------
----- -
  ------------ ------
  ------------- ------
-

---------- -
  -------- -------------
  --------------- ----
  ------ -------- - ------
  ------------- -----
  -------------- -----
-

--------------------- -
  ------------- --
-

------------ -
  -------- ------
  -------------- ----
-

----------- -
  -------- ------
  ------ -----
  -------- ----
  ------- --- ----- --------
  -------------- ----
-

----------------- -
  ------------- --------
-

------------- -
  ------------ -----
  -------- -------------
  --------------- -------
  ------------- -----
-

--------------- -
  -------- -------------
  --------------- -------
  --------- ---------
  ------ -----
  ------- -----
-

--------------- ------- -
  --------- ---------
  ---- --
  ----- --
  ------ --
  ------- --
  -------- -------------
  ------ -----
  ------- -----
-

--------------- ------- ----- -
  -------- -----
-

--------------- ------- ------- -
  --------- ---------
  ---- --
  ----- --
  ------ --
  ------- --
  ----------------- --------
  -------------- -----
  ----------- --- --- -----
-

--------------- ------- ------------- - ------- -
  ----------------- --------
-

--------------- ------- --------------- -
  --------- ---------
  -------- ---
  ------- -----
  ------ -----
  ----------------- -----
  -------------- ----
  ---- ----
  ----- ----
  ----------- --- --- -----
-

--------------- ------- ------------- - --------------- -
  ---------- -----------------
-

----------- -
  --------- ---------
-

----------- ------------------ -
  -------- ------
  ------ -----
  ------- -----
  -------- ----
  ----------------- -----
  ------- --- ----- --------
  -------------- ----
  ----------- -----
-

----------- ----------------------------------------------------- -
  --------- ---------
  ---- ----
  ------ ----
  ------ -----
  ------- -----
  -------------- -----
-

---------- -
  --------- ---------
  ---- -----
  ------ -----
  ------ ----
  ------- ----
  ----------- --- ----- -----
  ------------- --- ----- -----
  ---------- ---------------
-

总结

Material Design 表单设计的核心在于简单明了和层次分明,通过布局和元素配色等方面来确保整个表单的可读性。表单是前端开发中最经常使用的组件之一,在实现时,应考虑 Material Design 的核心设计,将代码实现得优雅和精致。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64e05b67f6b2d6eab3b6f738

纠错
反馈