Material Design 中的图标规范详解

面试官:小伙子,你的数组去重方式惊艳到我了

Material Design 是 Google 在设计方面的一种视觉语言,它提供了一系列类似于卡片、按钮、文本框、图标等组件,以及一些常见场景的设计模式,使得开发者可以更加方便、快速地进行设计和开发。在这些组件中,图标是非常重要的一个,因为它可以为用户提供简洁、直观的视觉指引,传递简洁明了的信息。本文将详细介绍 Material Design 中图标规范的相关内容,让读者了解如何正确地使用这些图标。

什么是 Material Design 中的图标?

在 Material Design 中,图标是指一个可以代表某种信息或动作的小型图形,通常是一些简单的矢量图形。这些图标通常被用在按钮、Tab、List 等组件中,以提供更加直观的体验。与传统网站使用的图标相比,Material Design 的图标更加明了、简约、统一、易于识别。

Material Design 中的图标与其它组件一样,都有一套规范,其中包含了基本的设计原则、使用场景、设计方法、尺寸宽度、颜色等方面,下面逐一进行说明。

1. 基本设计原则

Material Design 图标主要有如下三个基本设计原则:

简介明了: 高清晰度、单色、简约的线条、符合物品本身的特征,以及放大的厚度和空间,这些都是 Material Design 中图标的基本要求。图标要能够直接明了地传达信息,而不需要字面的解释。

充实生动: Material Design 中的图标着重于视觉效果和欣赏性的平衡。 图标应该是生动、有活力的,而且可以调节阴影、方向以及弧度等特性,以便创造有趣的设计。同时,图标应该不断散发着充实、鲜活的风格。

多功能颠覆: Material Design 中的图标不仅是重点,而且在设计方面也颠覆了以往。图标应该充满弹性,可以被用在各种情景中,而且不会耸肩或疯狂爆出来,而是涉及到因特网、动作和品质的深度颠覆。

基于这些基本设计原则,我们可以更好地掌握使用 Material Design 图标的方法和技巧。

2.使用场景

图标的使用场景包括以下四个方面:

导航:一般情况下把图标放在一个导航栏中,帮助用户快速定位他们想要的内容,以及帮助他们快速进入售后流程。

列表:根据美学方法将列表的每个项目集中在一个圆形、正方形或聚焦型边框内部,以防止选项条混淆,并且在每个项目旁边放一个相应的图标来标识。

内容:当我们需要强调某段内容的时候,可以使用短语或单词来搭配一个相关的图标,这样可以更好的突出这些内容。

其他:图标还可以用来标识音量、音频、视频、搜索、删除、拍照等。

使用场景的复杂性和创造性并不在于多少,而在于如何在特殊的设计中使用图标来突出重点。所以,当我们使用 Material Design 图标的时候,要特别注意选择合适的使用场景。

3. 尺寸

Material Design 中的图标大小需要根据设计的具体情况而定,但是可以在标准尺寸之间进行选择。 Material Design 必须确保图标与屏幕上的其他组件看起来适当,以便用户可以轻松地识别和识别图标。

下面是 Material Design 中推荐的标准尺寸:

  • 18dp x 18dp
  • 24dp x 24dp
  • 36dp x 36dp
  • 48dp x 48dp
  • 72dp x 72dp
  • 96dp x 96dp
  • 144dp x 144dp
  • 192dp x 192dp

4. 图标类型

Material Design 中的图标共有 4 种类型,它们是:状态图标(状态图标通常反映了某种状态信息),动作图标(动作图标通常执行一些动作),原始图标(原始图标通常表示可见的物体,如书、飞机、山等)和文件类型图标(文件类型图标表示文件类型)。这些图标都应该在每个给定的应用中保持一致,以便用户能够快速理解它们的意义。

5. 颜色

Material Design 中的图标需要遵循与其他组件相同的颜色规则:强调颜色(被用来传递主要的主题信息)和次要色彩(用来突出次要信息)两种。强调色彩通常指红、黄、绿、蓝这类鲜艳、饱和的颜色,而次要色彩则是白、灰等浅色调。

在使用颜色的时候,同样需要注意选择合适的场景和色调,并保持一致性和简洁性。

示例代码

下面是一个使用 Material Design 图标的示例代码:

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

上述代码中,使用了 Google Material Design 的 JS、CSS 库以及相关的 Material Icons 字体,以实现在按钮中嵌入图标的效果。在实际的开发中,可以通过相应的技术栈或框架来引用或使用这些 Material Design 的资源库,并根据需要进行更复杂的图标设计和使用。

结论

图标是 Material Design 的组件之一,它为用户提供简单直观的视觉指引,与传统的图标相比, Material Design 的图标更加明了、简约、统一、易于识别。为了保证图标的使用效果,并更好的向用户传递信息,在使用 Material Design 图标时,需要遵循相关的规范和设计原则,并注意各种场景的合理性和一致性,这样才能更好地实现 Material Design 风格的设计。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/66fcc4a1447136260172e24b


猜你喜欢

  • ES11 中的 Object.fromEntries() - 一个实用工具

    ES11 中的 Object.fromEntries() - 一个实用工具 在 ES2019 中,一个新的 Object 静态方法 fromEntries() 加入了 JavaScript。

    18 天前
  • 如何用良好的界面设计提升 App 无障碍性?

    随着技术的不断进步和社会的不断发展,越来越多的人开始重视无障碍性设计,这样有助于让更多的人都能够顺利、愉快地使用各种应用程序。尤其是在移动应用程序中,良好的界面设计不仅可以提高用户的使用体验,还可以提...

    18 天前
  • 利用 CSS Grid 布局优化前端开发流程

    随着 Web 技术的不断发展,前端开发也变得越来越复杂。在开发过程中,我们通常需要考虑网页的布局、排版、美观性等多方面的因素。其中,网页的布局是一个非常重要的因素,它直接影响到网页的结构和可读性。

    18 天前
  • 如何在Babel中使用Async/Await语法

    异步编程是现代前端开发中的重要话题。在过去,我们通常使用回调函数或Promise来处理异步事件。不幸的是,这些方法不仅显得笨重和复杂,而且代码难以维护。为了解决这些问题,ES7引入了async/awa...

    18 天前
  • Less 中内置的强大函数

    介绍 Less 是一种动态样式语言,可以扩展 CSS,并提供了许多强大的功能和特性,其中包括内置的强大函数。这些函数可以帮助前端开发者更方便地处理样式代码,提高工作效率。

    18 天前
  • Headless CMS 使用指南:从创建文章到发布

    什么是 Headless CMS? Headless CMS 是一种内容管理系统(CMS)的架构,它只关注内容管理的后端,也就是数据的存储和管理,而不涉及前端的显示表现。

    18 天前
  • 在 ES9 中使用 RegExp.prototype.exec() 方法时可能遇到的错误解决方法

    引言 在前端开发中,正则表达式 (RegExp) 是一个非常重要的概念。在 JavaScript 中,RegExp 对象有一个 exec() 方法,可以在符合某个模式的字符串中搜索出所有符合条件的字符...

    18 天前
  • 如何在响应式设计中精简代码?

    响应式设计已成为现代网站开发的标配。它可以使同一个页面在不同的设备上自适应,给用户带来更好的浏览体验。但是,响应式设计往往需要编写大量的代码,导致页面加载速度缓慢。

    18 天前
  • Redux:全方位解析应用程序状态管理

    前言 随着 Web 应用越来越复杂,前端应用程序状态管理成为越来越困难的问题。Redux 是一种 JavaScript 库,它提供了一种管理应用程序状态的解决方案。

    18 天前
  • 最佳的调用 Fastify API 的负载测试框架

    Fastify 是一个快速、低开销且可扩展的 Node.js Web 框架,具有最佳的性能。因此,使用 Fastify 来构建 API 是一个不错的选择,但是在部署 Fastify 应用程序时,我们需...

    18 天前
  • Node.js 应用程序性能优化之 Sequelize ORM

    随着 Node.js 在 Web 开发中的越来越广泛的应用,性能优化已经成为了关键课题之一。在 Node.js 应用程序中,Sequelize ORM 是一个非常流行的 ORM 框架,用于操作数据库。

    18 天前
  • 使用Enzyme测试React中的mapStateToProps和mapDispatchToProps

    React提供了两种函数mapStateToProps和mapDispatchToProps,用于在React组件中连接Redux状态管理中的状态和操作。如何测试这些函数是前端开发中常见的问题之一。

    18 天前
  • 如何在 PM2 中创建和管理 Node.js 进程?

    PM2 是一个强大的进程管理器,可以帮助我们在生产环境中轻松地管理 Node.js 进程。在本文中,我们将学习如何使用 PM2 创建和管理 Node.js 进程。 安装 PM2 在开始使用 PM2 之...

    18 天前
  • 在 TailwindCSS 中实现侧边栏导航的方法

    TailwindCSS 是一款基于实用工具的 CSS 框架,能够方便地设计和开发 UI。在使用 TailwindCSS 开发网站时,通常需要包含侧边栏导航。本文将详细介绍在 TailwindCSS 中...

    18 天前
  • 使用 Swagger 快速构建 RESTful API 文档

    在前端开发中,RESTful API 是非常重要的一部分。为了方便管理和使用 RESTful API,我们需要制作 API 文档。Swagger 是一个快速、开放、标准化的 API 工具。

    18 天前
  • 解决 Headless CMS 中获取不到图片 URL 的问题

    引言 Headless CMS 是一种新型的内容管理系统,它将内容与展示分离开来,将内容从特定的格式和平台中解放出来,提供了更加灵活和便捷的内容创建和管理方式。然而,在使用 Headless CMS ...

    18 天前
  • 如何在 Web Components 中使用第三方 UI 库?

    随着 Web 技术的不断发展,Web Components 作为一种组件化的 Web 开发方式,已经成为了前端开发中不可忽视的一部分。而像 Bootstrap、Ant Design、Element 等...

    18 天前
  • 数据库性能优化:正确使用 Index

    在实际应用中,数据库是一个非常重要的组成部分。然而,随着应用规模的不断增大,数据库性能通常会受到挑战。这时,正确使用 Index 几乎是优化数据库性能的必要条件。 什么是 Index? Index 是...

    18 天前
  • ESLint 和 TypeScript 结合使用的一些注意事项

    前言 ESLint 是一个非常流行的 JavaScript 代码检查工具,跟 TypeScript 一起使用可以大大提高代码质量和可维护性。本文将介绍 ESLint 和 TypeScript 结合使用...

    18 天前
  • 实践中的 Angular:如何处理多个 HTTP 请求

    在开发前端应用程序时,处理多个 HTTP 请求是不可避免的。特别是在现代应用程序中,页面通常需要从多个不同的数据源获取数据,包括 API、数据库、第三方服务、文件等。

    18 天前

相关推荐

    暂无文章