UI 规范本来应该由 UI 设计师来确定,但在设计师缺失的情况下,仅靠程序员也能高效方便的做出一种中规中矩的 UI。
本文以 Web 为设计目标,移动端原生应用有很大不同,但可以根据这些章节做对应修改。
本文考虑能应用到 mobile first 的场景。
程序员一般不具备整体的页面设计能力,所以需要提供的是明确的指令和模板。
程序员不应该深入设计细节,应该通过表达意图,而不是具体细节来完成业务。
意图:按钮:主要,大小。
默认对齐:文字在不同的容器内对齐方式不一样,按钮、表格、标题。元素之间的对齐。
css reset h1 div container responsive
normal-text rem: root em em: container em em 与组件库之间的关系 浏览器默认的字体是 16px。
字体大小会随着设备的大小而调整?必要性?设备大小,只影响布局?
块之间的间距。间距来标明各块之间的亲密度。 相同背景色的块之间的分隔线。
从已有的项目中抽取规范。
.title-text {
font-size: 22px;
font-weight: 600;
line-height: 32px;
color: #1a1a1a;
}
.bd-navbar {
min-height: 4rem;
}
.navbar {
}
默认的边距为$spacer,$spacer 为 1rem。mt、py-2 等等为定制的边距。mt-n2 可以为负的 margin。
一般的 padding 是 1rem。 column 的 padding 是 15px。但 rem/html_font-size 是 16px,这里做一下改变?
导航以颜色来区分。
模块以线条分割。
标题与正文之间间隔 2rem。
正文的 line-height 为 1.5rem。
段落之间的分割为 1rem?
优先采用系统默认字体。
// Safari for OS X and iOS (San Francisco)
-apple-system,
// Windows
"Segoe UI",
// Android
"Roboto",
// Basic web fallback
"Helvetica Neue", Arial, sans-serif,
顶部导航图标 48 个人中心指示性图标 32
0.5rem?
间距 0.5em ? 图片与文字高度一致
透明度可以用来对比重要和不重要,启用和禁用。
https://zellwk.com/blog/rem-vs-em/ https://www.designbetter.co/design-systems-handbook