` 标记,注意,一般情况下,请不要省略 `
` 结束标记 。 ### 网页制作细节 ---- 链接 **1.** 网站中的链接路径全部采用相对路径,一般链接到某一目录下的缺省文件的链接路径不必写全名,如我们不必这样:`` 而应该这样:`` ,所有内页指向首页的链接写成`` **2.** 在浏览器里,当我们点击空链接时,它会自动将当前页面重置到首端,从而影响用户正常的阅读内容,我们用代码“javascript:void(null)”代替原来的“#”标记 ### 网页制作细节 ---- 表格 1px 表格 style="border-collapse: collapse" 实例如下: ```html| 缩进两个半角空格, |
中如果还有嵌套的表格,
|
文字
` `文字` `
`
### 网页制作细节 ---- 缓存
网页不会被缓存
HTM 网页
` `
` `
` `
ASP 网页
`Response.Expires = -1 `
`Response.ExpiresAbsolute = Now() - 1 `
`Response.cachecontrol = "no-cache"`
### 网页制作细节 ---- 浏览器兼容性
创建站点时,应该明白访问者可能使用各种 Web 浏览器。在已知的其他设计限制下,尽可能将站点设计为具有最大的浏览器兼容性。
目前使用的 Web 浏览器有二十多种,大多数已发行了多个版本。即使您只针对使用 Netscape Navigator 和 Microsoft Internet Explorer 的大多数 Web 用户,但您应明确并不是每个人都在使用这两种浏览器的最新版本。
您的站点越复杂(在布局、动画、多媒体内容和交互方面),跨浏览器兼容的可能性就越小。例如,并非所有的浏览器都可以运行 JavaScript。不使用特殊字符的纯文本页面或许能够在任何浏览器中正确显示,但比起有效地使用图形、布局和交互的页面,这样的页面在美感上可能要差得多。所以,应尽量在最佳效果设计和最大浏览器兼容性设计之间取得平衡。
所有的 HTML 标签的属性都要用单引号或者双引号括起,即我们应该写 ` ` 而不 是 `` .
### 图片处理细节 ---- banner
全尺寸 banner 为 468X60px,半尺寸 banner 为 234X60px,小 banner 为 88X31px。
另外 120X90,120X60 也是小图标的标准尺寸。全尺寸 banner 不超过 14K。
普遍的 banner 尺寸 760X100,750X120,468X60,468X95,728X90,585X140
次级页的 pip 尺寸 360X300,336X280
游标:100X100 或 120X120
### 图片处理细节 ---- LOGO 的国际标准规范
为了便于 INTERNET 上信息的传播,一个统一的国际标准是需要的。实际上已经有了这样的一整套标准。其中关于网站的 LOGO,目前有三种规格:
88*31 这是互联网上最普遍的 LOGO 规格。
120*60 这种规格用于一般大小的 LOGO。
120\*90 这种规格用于大型 LOGO。
### 图片处理细节 ---- 页面修饰图片处理
图片经过优化以加快下载的速度,有较佳的视觉空间效果,用图要与页面风格、页面内容相符;制作精美,细节处理得当。
## JavaScript 书写规范
1. 书写过程中, 每行代码结束必须有分号; 原则上所有功能均根据 XXX 项目需求原生开发, 以避免网上 down 下来的代码造成的代码污染(沉冗代码 || 与现有代码冲突 || ...);
2. 库引入: 原则上仅引入 jQuery 库, 若需引入第三方库, 须与团队其他人员讨论决定;
3. 变量命名: 驼峰式命名. 原生 JavaScript 变量要求是纯英文字母, 首字母须小写, 如 iTaoLun; jQuery 变量要求首字符为'\_', 其他与原生 JavaScript 规则相同, 如: \_iTaoLun; 另, 要求变量集中声明, 避免全局变量.
4. 类命名: 首字母大写, 驼峰式命名. 如 ITaoLun;
5. 函数命名: 首字母小写驼峰式命名. 如 iTaoLun();
6. 命名语义化, 尽可能利用英文单词或其缩写;
7. 尽量避免使用存在兼容性及消耗资源的方法或属性, 比如 eval() & innerText;
8. 后期优化中, JavaScript 非注释类中文字符须转换成 unicode 编码使用, 以避免编码错误时乱码显示;
9. 代码结构明了, 加适量注释. 提高函数重用率;
10. 注重与 html 分离, 减小 reflow, 注重性能.
## 图片规范
1. 所有页面元素类图片均放入 img 文件夹, 测试用图片放于 img/demoimg 文件夹;
2. 图片格式仅限于 gif || png || jpg;
3. 命名全部用小写英文字母 || 数字 || \_ 的组合,其中不得包含汉字 || 空格 || 特殊字符;尽量用易懂的词汇, 便于团队其他成员理解; 另, 命名分头尾两部分, 用下划线隔开, 比如 ad_left01.gif || btn_submit.gif;
4. 在保证视觉效果的情况下选择最小的图片格式与图片质量, 以减少加载时间;
5. 尽量避免使用半透明的 png 图片(若使用, 请参考 css 规范相关说明);
6. 运用 css sprite 技术集中小的背景图或图标, 减小页面 http 请求, 但注意, 请务必在对应的 sprite psd 源图中划参考线, 并保存至 img 目录下.
## 注释规范
1. html 注释: 注释格式 `` , '--'只能在注释的始末位置,不可置入注释文字区域;
2. css 注释: 注释格式 /_这儿是注释_/;
3. JavaScript 注释, 单行注释使用'//这儿是单行注释' ,多行注释使用 /_ 这儿有多行注释 _/;
## 浏览器兼容性 CSS hack
**一、标识区别:**
区别 IE6,IE7,IE8,FF。
1. IE 都能识别* ; 标准浏览器(如 FF)不能识别*;
2. IE6 能识别\*,但不能识别 !important; IE6 在样式前面加\_
3. IE7 能识别\*,也能识别!important;
4. IE8 能识别\ 9 例如:background:red \9;
5. firefox 不能识别\*,但能识别!important;
6. IE6 和 firefox 的区别:
background:orange;\*background:blue;
意思就是火狐浏览器的背景颜色是橙色,而 IE 浏览器的背景色是蓝色.
7. IE6 和 IE7 的区别:
background:green !important;background:blue;
意思指的是:IE7 的背景颜色是绿色,IE6 的背景颜色是蓝色
8. IE7 和 FF 的区别:
background:orange; \*background:green;
意思指的是:火狐浏览器的背景颜色是橙色,而 IE7 的背景颜色是绿色
9. FF,IE7,IE6 的区别:
background:orange;
*background:green !important;
*background:blue;
意思是火狐浏览器的的背景橙色,IE7 浏览器的背景颜色是绿色,而 IE6 浏览器的颜色是蓝色.
**二、实践建议**
(1). 开发平台的选择
在 Firefox 上编写 CSS, 同时兼容其他浏览器的. 这样做肯定会比在 IE 做好再到别的浏览器兼容来得容易, 因为 IE 对老标准支持还是很不错的, 而 IE 的一些特有功能人家却不支持. 所以推荐以 Firefox 结合 Firebug 扩展作为平台。
(2). CSS Hack 的顺序
使用 Firefox 作为平台, 只要代码写得够标准, 其实要 Hack 的地方不会很多的, IE 以外的浏览器几乎都不会有问题, 所以可以暂时忽略,
顺序如下:Firefox -> IE6 -> IE7 -> 其他
(3). Hack 的方法
说到方法有两种, 一种是在不同文件中处理, 另一种则是在同一个文件中处理. 其实作用是相同的, 只是出发点不一样而已.
1. 同一文件中处理.
如: id="bgcolor"的控件要在 IE6 中显示蓝色, IE7 中显示绿色, Firefox 等其他浏览器中显示红色。IE6 不认 !important,也不认 _+html.所以 IE6 只能是 blue.
IE7 认 !important,也认 _+html,优先度: (\*+html + !important) > !important > +html. IE7 可以是 red, blue 和 green,但 green 的优先度最高.
Firefox 和其他浏览器都认 !important. !important 优先, Firefox 可以是 red 和 blue,但 red 优先度高.上述的优先符号均是 CSS3 标准允许的,其他浏览器也还有其他的 Hack 方法,但我迄今还没遇到过 Firefox 正常, IE 以外的其他浏览器不正常的情况,所以无可分享.只要代码规范,相信这种情况的发生应该是很罕见 (JavaScript 除外).
2. 不同文件中处理.
为什么同一文件中可以处理还要写在多个文件里面针对不同的浏览器?这是为了欺骗 W3C 的验证工具,其实只需要两个文件,一个是针对所有浏览器的,一个只为 IE 服务.将所有符合 W3C 的代码写到一个里面去,而一些 IE 中必须的,又不能通过 W3C 验证的代码 (如: cursor:hand;)放到另一个文件中,再用下面的方法导入.