199 | ...
200 |
201 | /* TODO: 图文混排 comm: g-imgtext */
202 | .g-imgtext { sRules; }
203 |
204 |
205 | ### 9.行尾空格
206 |
207 | 删除行尾空格,这些空格没有必要存在
208 |
209 |
210 | ### 10.省略嵌入式资源协议头
211 |
212 | 省略图像、媒体文件、样式表和脚本等URL协议头部声明 ( http: , https: )。如果不是这两个声明的URL则不省略。
213 |
214 | 省略协议声明,使URL成相对地址,防止内容混淆问题和导致小文件重复下载(这个主要是指http和https交杂的场景中)。
215 |
216 | 不推荐:
217 |
218 |
219 |
220 | 推荐:
221 |
222 |
223 |
224 | 不推荐:
225 |
226 | ```
227 | .example {
228 | background: url(http://www.google.com/images/example);
229 | }
230 | ```
231 |
232 | 推荐:
233 |
234 | ```
235 | .example {
236 | background: url(//www.google.com/images/example);
237 | }
238 | ```
239 |
240 | > 注:省略协议头在IE7-8下会有一点小问题,外部CSS文件(link和@import)会被下载两遍,所以该条目的约定看具体项目。
241 |
242 |
243 | ### 11.代码有效性
244 |
245 | * 使用 [W3C HTML Validator](http://validator.w3.org/) 来验证你的HTML代码有效性;
246 | * 使用 [W3C CSS Validator](http://jigsaw.w3.org/css-validator/) 来验证你的CSS代码有效性。
247 |
248 | > 代码验证不是最终目的,真的目的在于让开发者在经过多次的这种验证过程后,能够深刻理解到怎样的语法或写法是非标准和不推荐的,即使在某些场景下被迫要使用非标准写法,也可以做到心中有数。
249 |
250 |
251 | ## HTML约定
252 |
253 |
254 | ### 1.文档类型
255 |
256 | * 统一使用HTML5的标准文档类型:``;
257 |
258 | > HTML5文档类型具备前后兼容的特质,并且易记易书写
259 |
260 | * 在文档doctype申明之前,不允许加上任何非空字符;
261 |
262 | > 任何出现在doctype申明之前的字符都将使得你的HTML文档进入非标准模式
263 |
264 | * 不允许添加 `` 标签强制改变文档模式。
265 |
266 | > 避免出现不可控的问题
267 |
268 |
269 | ### 2.省略type属性
270 |
271 | 在调用CSS和JavaScript时,可以将type属性省略不写
272 |
273 | 不允许:
274 |
275 |
276 |
277 |
278 | 应该:
279 |
280 |
281 |
282 |
283 | > 因为HTML5在引入CSS时,默认type值为text/css;在引入JavaScript时,默认type值为text/javascript
284 |
285 |
286 | ### 3.省略属性值
287 |
288 | 非必须属性值可以省略
289 |
290 | 不允许:
291 |
292 |
293 |
294 |
295 | 应该:
296 |
297 |
298 |
299 |
300 | > 这里的 readonly 和 disabled 属性的值是非必须的,可以省略不写,我们知道HTML5表单元素新增了很多类似的属性,如: required
301 |
302 |
303 | ### 4.用双引号包裹属性值
304 |
305 | 所有的标签属性值必须要用双引号包裹,同时也不允许有的用双引号,有的用单引号的情况
306 |
307 | 不允许:
308 |
309 | 去哪儿网
310 |
311 | 应该:
312 |
313 | 去哪儿网
314 |
315 |
316 | ### 5.嵌套
317 |
318 | 所有元素必须正确嵌套
319 |
320 | * 不允许交叉;
321 |
322 | 不允许:
323 |
324 | 交叉嵌套
325 |
326 | 应该:
327 |
328 | 交叉嵌套
329 |
330 | * 不允许非法的子元素嵌套。
331 |
332 | 不允许:
333 |
334 | 这是一个块级p元素
357 | 358 | 359 | 推荐: 360 | 361 |这是一个块级p元素
364 |
401 |
402 | 推荐:
403 |
404 |
405 |
406 | > alt属性的内容为对该图片的简要描述,这对于盲人用户和图像损毁都非常有意义,即无障碍。对于纯粹的装饰性图片,alt属性值可以留空,如 alt=""
407 |
408 |
409 | ### 8.有效操作
410 |
411 | 为表单元素label加上for属性
412 |
413 | 不允许:
414 |
415 |
416 |
417 |
418 | 应该:
419 |
420 |
421 |
422 |
423 | > for属性能让点击label标签的时候,同时focus到对应的 input 和 textarea上,增加响应区域
424 |
425 |
426 | ### 9.按模块添加注释
427 |
428 | 在每个模块开始和结束的地方添加注释
429 |
430 |
431 | dffasdasdasdsdasdasd
dffasdasdasdsdasdasd
460 |标题
472 | 473 | 应该: 474 | 475 |一些实际内容
497 |