# 背景 UI 规范本来应该由 UI 设计师来确定,但在设计师缺失的情况下,仅靠程序员也能高效方便的做出一种中规中矩的 UI。 本文以 Web 为设计目标,移动端原生应用有很大不同,但可以根据这些章节做对应修改。 本文考虑能应用到 mobile first 的场景。 ## 需求 程序员一般不具备整体的页面设计能力,所以需要提供的是明确的指令和模板。 程序员不应该深入设计细节,应该通过表达意图,而不是具体细节来完成业务。 意图:按钮:主要,大小。 默认对齐:文字在不同的容器内对齐方式不一样,按钮、表格、标题。元素之间的对齐。 - 常用的页面模板。登录,注册,主页,顶部导航,侧边导航,表单查询,表格。 - 按钮的类型。 css reset h1 div container responsive normal-text rem: root em em: container em em 与组件库之间的关系 浏览器默认的字体是 16px。 字体大小会随着设备的大小而调整?必要性?设备大小,只影响布局? 块之间的间距。间距来标明各块之间的亲密度。 相同背景色的块之间的分隔线。 从已有的项目中抽取规范。 ```s .title-text { font-size: 22px; font-weight: 600; line-height: 32px; color: #1a1a1a; } ``` ## 布局 ### header ```s .bd-navbar { min-height: 4rem; } .navbar { } ``` ### 侧边栏 sidebar ### 底边 footer ### 默认的边距(margin/padding) 默认的边距为$spacer,$spacer 为 1rem。mt、py-2 等等为定制的边距。mt-n2 可以为负的 margin。 ### 模块间距 一般的 padding 是 1rem。 column 的 padding 是 15px。但 rem/html_font-size 是 16px,这里做一下改变? ### 行高 line-height ### 段落间距 paragraph margin ### 间距的渐进(亲密性) 导航以颜色来区分。 模块以线条分割。 标题与正文之间间隔 2rem。 正文的 line-height 为 1.5rem。 段落之间的分割为 1rem? ## 颜色 - 标题颜色 #000000 - 提示颜色 #666666 - 文字点击状态 #FF8900 - 文字悬浮颜色 - 链接颜色 - 链接悬浮变色 - 品牌色 - 正文色 - 标题色 - 副标题色 - 作者、日期等色 - 背景色 - 边框色 - 输入框填充色 - 阴影色 - 成功操作颜色 - 失败操作颜色 ## 字体 ### font-family 优先采用系统默认字体。 ```s // Safari for OS X and iOS (San Francisco) -apple-system, // Windows "Segoe UI", // Android "Roboto", // Basic web fallback "Helvetica Neue", Arial, sans-serif, ``` ### font-size ### font-weight ## 图片 ### svg ### 应用本身的图片尺寸 顶部导航图标 48 个人中心指示性图标 32 ### 图片与描述的间距 0.5rem? ### 按钮中图片与文字的间距,line-height,font-size 间距 0.5em ? 图片与文字高度一致 ### 按钮中图片的变色 ### 透明度 透明度可以用来对比重要和不重要,启用和禁用。 ## 样例 ## Bootstrap 链接 ### 定制 ### Reboot ### 颜色 ### 表单对齐 ### 表格对齐 ### 水平居中 ### 垂直居中 ### 水平和垂直居中 ### Utilities ### ElementUI ## TODO - UI guildlines auto check - flex class (bootstrap container class) - media query breakpoint - border / line-height - color variables - namespace - 定制已有组件 - 科普:颜色对比度。像素,ppi。 - z-index 规划 - sketch=ui axure=product js/css/html=component - 网页 - animation https://zellwk.com/blog/rem-vs-em/ https://www.designbetter.co/design-systems-handbook