UI/UX 设计实例

标签:UI, UX
分类:技术
2分钟阅读
概述:本页面结合几个具体的可交互元素,来体现 UI 设计的美学和细节之处

最前

在本站博文 「¡HolaH! CMS Blog」MOC 的致谢清单一节中,特别鸣谢了 Cali Castle 个人博客 为本站提供的灵感和可靠借鉴,

其中该站点的 UI 设计是让吾辈特别印象深刻的:开发作者 Cali 用心且细微入里的 UI 设计,表现方面包括有:按钮、弹窗面板的 UI 风格清爽简洁,但不是朴素(简陋)的白底黑字,但具体风格类别吾辈目前尚不能准确定义,只能说有类 IOS 系统(背景高斯模糊 + 动效)的感觉。

本文结合几个具体的可交互元素,简要回顾开发者 Cali 的具体 UI 设计,以作备忘。

另,本文样式使用 tailwind 原子类名作为示例(基本不会有阅读障碍,其大部分类名能很直观的对应上原生 CSS 语句);

另,代码展示中,删去了基本的如内外边距、宽高尺寸的样式设置,聚焦实现核心 UI 效果的 CSS 语句(而完整样式可在 F12 控制台查看)

背景精调

实例

(说明:为了效果的更好展示,这里将按钮调节到偏大尺寸)
(说明2:滚动该区域以查看细调 UI 带来的视觉提升)
简单样式(白底黑字)
添加 UI 细节 (渐变背景)
bkg-like

代码片段

<Button
  className={cxSm("bg-gradient-to-b from-zinc-50/50 to-white/90", {
    ["shadow-lg shadow-zinc-800/5 ring-1 ring-zinc-900/5 backdrop-blur transition dark:from-zinc-900/50 dark:to-zinc-800/90 dark:ring-white/10 dark:hover:ring-white/20"]: true,
  })}
>
  click
</Button>

细节说明

总的来说,为了达到类 IOS 系统的按钮或者面板效果,有以下几个必要设置:

  • 对背景设置了方向从上到下的渐变背景(由半透到微透全白的颜色过渡)
  • 阴影(轮廓)效果设置 (shadow ring
  • 模糊效果设置 (backdrop-blur

以上几处设置,完成了按钮(或面板)类 IOS 风格的设置

实例 2

同样的设置细节,略作修改,用在更大的菜单面板上,见实例 2,也能获得不错的 UI 效果

(说明2:滚动该区域以查看细调 UI 带来的视觉提升)
简单样式(白底黑字)
Panel
  • item1
  • item2
  • item3
  • item4
添加 UI 细节 (渐变背景)
Panel
  • item1
  • item2
  • item3
  • item4
bkg-like

弹窗进入退出的细节处理

headlessUI 组件暴露的 API 友好易读,这里用来作为示例代码片段,展示核心动效实现细节

import { Popover, Transition } from "@headlessui/react";

<Transition.Child
  as={React.Fragment}
  enter="duration-150 ease-out"
  enterFrom="opacity-0 scale-95"
  enterTo="opacity-100 scale-100"
  leave="duration-150 ease-in"
  leaveFrom="opacity-100 scale-100"
  leaveTo="opacity-0 scale-95"
>
  <Popover.Panel>{/* ... */}</Popover.Panel>
</Transition.Child>;

api 值具有很好的语义化,这里不再过多解释。

UI/UX 设计实例

https://blog.ninoh.cc/loc-blog/14_ui-design-demo[Copy]
本文作者
ninohx96
创建/发布于
Published On
更新/发布于
Updated On
许可协议
CC BY-NC-SA 4.0

转载或引用本文时请遵守“署名-非商业性使用-相同方式共享 4.0 国际”许可协议,注明出处、不得用于商业用途!分发衍生作品时必须采用相同的许可协议。