├── README.md └── media ├── error.png ├── font-chinese.png ├── font.png ├── iconfont.png ├── loading.gif ├── logout.png ├── mark.png ├── mark2.png ├── maxthon.png ├── psd-layer-name-bad.jpg ├── psd-layer-name-good.jpg ├── status-loading.png ├── status-loadover.png ├── text-overflow-hidden-2.png ├── text-overflow-hidden.png ├── text-overflow-tip.png ├── text-overflow.png ├── width-980-scroll.png └── width-980.png /README.md: -------------------------------------------------------------------------------- 1 | # Web前端写给Web设计师的注意事项 2 | 3 | > Web 设计和 Web 前端都应该仔细阅读此文档,会减少因为设计不合理导致的返工。 4 | 5 | Web 设计因为要在浏览器中实现,有时还需要『动』起来,在设计时有一定的限制。 6 | 7 | **前端同行应该以此文档作为审核设计稿的依据,不应该拿到设计稿直接开发。** 8 | 9 | 有任何问题请 [参与讨论](https://github.com/nimojs/web-desgin-notes/issues/new) [讨论列表](https://github.com/nimojs/web-desgin-notes/issues) 10 | 11 | > 点击右上角的 **[Watch](https://github.com/nimojs/web-desgin-notes/subscription)** 订阅本文档更新,点击 Star 收藏本书 12 | 13 | --- 14 | 15 | 16 | 17 | **索引** 18 | 19 | [资源](#hash_collect) 20 | 21 | 1. [页面尺寸](#hash_size) 22 | 1. [最小宽度](#hash_size_min-width) 23 | 2. [手机页面尺寸](#hash_phonesize) 24 | 3. [响应式设计](#hash_responsive) 25 | 4. [移动设备 Retina](#hash_retina) 26 | 2. [字体](#hash_font) 27 | 1. [大小](#hash_font-size) 28 | 2. [特殊字体](#hash_font-special) 29 | 3. [字体图标](#hash_font-icon) 30 | 3. [内容溢出](#hash_text-overflow) 31 | 1. [...](#hash_text-overflow-ddd) 32 | 2. [裁剪](#hash_text-overflow-clip) 33 | 3. [提示](#hash_text-overflow-tip) 34 | 4. [换行](#hash_text_newline) 35 | 4. [PSD](#hash_psd) 36 | 1. [图层命名](#hash_psd-layer-name) 37 | 2. [Retina](#hash_psd-retina) 38 | 3. [标注](#hash_psd-marker) 39 | 4. [字体](#hash_psd-font) 40 | 5. 栅格化 41 | 6. [状态](#hash_status) 42 | 1. [Loading](#hash_status-loading) 43 | 2. [hover](#hash_status-hover) 44 | 3. [error](#hash_status-error) 45 | 4. [分页](#hash_status-paging) 46 | 5. [用户超时登出](#hash_status-logout) 47 | 7. [UI组件化](#hash_ui) 48 | 1. [图表](#hash_ui-charts) 49 | 8. [typo 内容排版样式](#hash_typo) 50 | 1. [富文本编辑](#hash_typo-rich-text-editor) 51 | 2. [markdown](#hash_typo-markdown)) 52 | 9. [技术团队审核设计稿](#hash_everyone_checkout) 53 | 54 | --- 55 | 56 | Top 57 | 58 | 59 | ## 页面尺寸 60 | 61 | 网页尺寸需要考虑浏览者的屏幕分辨率 62 | 63 | Top 64 | 65 | ### 最小宽度 66 |  67 | 68 | Github 页面最小宽度是 980px,当窗口大小小于 980px 时候会出现滚动条。 69 | 70 |  71 | 72 | 网页最小宽度是根据浏览者的电脑分辨率来定。 73 | 74 | 例如浏览者的分辨率是 1280x800 75 | 则宽度不可大于 *1240* `1280 - 40 = 1240`,因为网页可能会出现滚动条或一些工具栏。所以需要减去 40 像素。 76 | 77 | > 下图中浏览器左侧有工具栏,右侧存在滚动条 78 | 79 |  80 | 81 | Top 82 | 83 | ### 手机页面尺寸 84 | 85 | 设计只需要按照 640 或 750 设计即可,前端会利用[rem](https://github.com/jieyou/rem_layout) 让设计稿占满屏幕 86 | 87 | Top 88 | 89 | ### 响应式设计 90 | 91 | 响应式设计规范可参考 [https://github.com/ColdXu/grid-design](https://github.com/ColdXu/grid-design) 92 | 93 | Top 94 | 95 | ### 移动设备 Retina 96 | 97 | 手持设备的设计稿基准尺寸为 375px,普通屏显示正常,但在 Retina 屏幕下会出现图片模糊问题。 98 | 99 | 对于 Retina 屏幕,为了达到高清效果,视觉稿的画布大小会是基准的2倍,最终设计稿尺寸是750px 100 | 101 | > iphone6 DPI 是 375 所以此处 设计稿基准尺寸是 375px,如果要兼容 iphone4/4s/5 则基准是 320(设计稿尺寸是 640px) 102 | 103 | Top 104 | 105 | ## 字体 106 | 107 | 在网页中使用字体需要注意一些地方 108 | 109 | Top 110 | 111 | ### 大小 112 | 内容性质字体大小不得小于 12px ,因为某些浏览器默认文字大小只能是 12px。网页中显示小于 12px 的文字会变形。 113 | 114 | Top 115 | 116 | ### 特殊字体 117 | 118 | > 这里的特殊字体指的是普通用户电脑中不存在的字体  119 | 120 | 由于程序输出的文字不建议使用中文特殊字体,因为想要在用户电脑中使用中文特殊字体需要在浏览器中加载字体文件。而中文字体文件体积至少 1MB 以上 121 | 122 | 推荐一个中文特殊字体生成平台,可以在不使用图片的情况下使用固定的少量文字。[WebFont](http://iconfont.cn/webfont/#!/webfont/index) | [浏览器使用示例](http://nimojs.github.io/web-design-notes/webfont.html) 123 | 124 | 若使用英文特殊字体,请将字体文件同 PSD 一并交付给前端。 125 | 126 | Top 127 | 128 | ### 字体图标 129 |  130 | 图标是网页中非常常见的元素,以前Web前端在实现时是通过图片实现。有如下缺点: 131 | 132 | 1. Retina 屏下因为图片分辨率太低会导致图标模糊 133 | 2. 图标多一种颜色就需要多切一张图(图片太多会增加页面访问时间) 134 | 3. 图标多一种尺寸需要多切一张图 135 | 136 | **以上三个问题,用 iconfont 可以完美解决** 137 | 138 | 请点击 [示例](http://nimojs.github.io/web-design-notes/iconfont.html) 查看使用 iconfont 显示图标的效果。 139 | 140 | [ICONFONT平台功能介绍](http://iconfont.cn/help/platform.html) 141 | 142 | > 除了 iconfont.cn 还有很多类似的平台 143 | 144 | Top 145 | 146 | ## 内容溢出 147 | 148 | 某些文字由程序输出的文字长度是无法确认的,需要设计时考虑文字超出容器大小时候的溢出处理方式。 149 | 150 | Top 151 | 152 | ### ... 153 | 154 | > 当文字超过一定字数后会出现 `...` 155 |  156 | 157 | Top 158 | 159 | ### 裁剪 160 | 161 | > 一行文字占 20px ,最多只显示2行,超过2行的文字不显示 162 |  163 | 164 | > 一行文字占 20px ,最多只显示1行,超过1行的文字不显示 165 |  166 | 167 | Top 168 | 169 | ### 提示 170 | 171 | > 当鼠标划入时出现完整内容信息 172 |  173 | 174 | Top 175 | 176 | 177 | ## PSD 178 | 179 | Top 180 | ### 图层命名 181 | > 这一项不是必须的,但是想**成为优秀设计师**必须做到这一点 182 | 183 |
187 | 结构清晰的命名 188 | | 189 |190 | 糟糕的命名 191 | | 192 |
---|---|
197 | ![]() |
199 |
200 | ![]() |
202 |
262 | 鼠标划入开始加载 263 | | 264 |265 | 加载完成 266 | | 267 |
---|---|
272 | ![]() |
274 |
275 | ![]() |
277 |