面向工程师的html

44
HTML for BE 拔赤 [email protected] http://jayli.github.com 2010-07-20

Upload: jay-li

Post on 11-Jul-2015

1.184 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: 面向工程师的HTML

HTML for BE拔赤

[email protected]

http://jayli.github.com2010-07-20

Page 2: 面向工程师的HTML

前后端的分工•

HTML基础

工程师需要了解的•

扩展阅读

Page 3: 面向工程师的HTML

• 前后端的分工•

HTML基础

工程师需要了解的•

扩展阅读

Page 4: 面向工程师的HTML

YAHOO技术栈

Page 5: 面向工程师的HTML

FE & BE

Page 6: 面向工程师的HTML
Page 7: 面向工程师的HTML

UED角色

Page 8: 面向工程师的HTML

前后端的分工

• HTML基础•

工程师需要了解的

扩展阅读

Page 9: 面向工程师的HTML

网页的组成

• 内容–

Html

样式–

Css

交互–

Javascript

flash

Page 10: 面向工程师的HTML

HTML语言的版本

HTML 1.0 –

1993,IETF发布•

HTML 2.0 –

1995,发布

HTML 3.2 –

1996,W3C推荐标准•

HTML 4.0 –

1997,W3C推荐标准

• HTML 4.01 – 1999, W3C推荐标准•

HTML 5.0 –

2008,W3C工作草案

Page 11: 面向工程师的HTML

Doctype

HTML 4.01 标准doctype

另一种写法,兼容HTML5

<!DOCTYPE HTML PUBLIC "‐//W3C//DTD HTML 4.01//EN"  "http://www.w3.org/TR/html4/strict.dtd">

<!DOCTYPE html>

Readmore:http://www.w3school.com.cn/tags/tag_doctype.asp

Page 12: 面向工程师的HTML

HTML和XHTML

http://www.w3school.com.cn/tags/html_ref_dtd.asp

标签 HTML 4 strict XHTML1.1<col> 支持 不支持

<map> 支持 不支持<area> 支持 不支持

<tbody> 支持 不支持<tfoot> 支持 不支持<thead> 支持 不支持

Page 13: 面向工程师的HTML

HTML常用标签

标签 名称 注意<!DOCTYPE> 文档头 必须在首行

<a> 链接/锚点<b> 定义粗体字

<br

/> 换行 不能使用<br><button> 按钮 默认type=button

<dl> 定义列表 配合dd,dt等使用<p> 段落 块级元素

<input> 输入控件 要定义type

Page 14: 面向工程师的HTML

HTML常用标签

标签 名称 注意<div> 层 块级元素<em> 强调 行内元素

<form> 表单<h1> to <h6> 标题

<img

/> 图片 没有</img><span> 文档中的节 内联元素<table> 表格 和tr,td一起使用<ul><li> 列表

http://www.w3school.com.cn/tags/index.asp

Page 15: 面向工程师的HTML

使用语义化的html标签

不推荐

推荐

http://www.w3school.com.cn/h.asp

<div class="title">标题</div>

<h1>标题</h1>

Page 16: 面向工程师的HTML

URL编码 - RFC 1731

http://www.ietf.org/rfc/rfc1738.txt

非法的URL

合法的URL

http://www.baidu.oom/?wd=淘宝

http://www.baidu.oom/?wd=%CC%D4%B1%A6

Page 17: 面向工程师的HTML

中文相关的URL编码

RFC 1738文档很粗糙。实际url编码标准和 操作系统、浏览器以及web应用有关;

ff对非ascII

码的url进行编码,编码方式和 操作系统默认编码一致

IE不对非ascII码的url进行编码,直接根据 操作系统编码的裸码发送url请求

IE不遵循RFC 1738,或者说ie对URL的转 码实现有bug。

Page 18: 面向工程师的HTML

结构和样式的分离

不推荐

推荐

<span color="blue" style="line‐height:20px;"> 标题</span>

<style>.title {font‐color:blue;line‐height:20px;}</style><h1><span class="title">标题</span></h1>

Page 19: 面向工程师的HTML

前后端的分工•

HTML基础

• 工程师需要了解的•

扩展阅读

Page 20: 面向工程师的HTML

工程师在套页面过程中容易遇 到的问题

Page 21: 面向工程师的HTML

标签嵌套正确

正确

错误

<p>淘宝<em>彩票</em>.</p>

<p>淘宝<em>彩票</p>.</em>

Page 22: 面向工程师的HTML

元素名小写

正确

错误

<a href="http://www.taobao.com">淘宝</a>

<A

HREF="http://www.taobao.com">淘宝</A>

Page 23: 面向工程师的HTML

标签属性必须在引号内

正确

错误

<input type="text" />

<input type=text

/>

Page 24: 面向工程师的HTML

标签配对

正确

错误

<p>淘宝</p><p>淘宝</p>

<p>淘宝<p>淘宝

Page 25: 面向工程师的HTML

标签闭合•

正确

错误

<meta charset="gbk" /><input name="q" value="" /><img src="pic.png" /><br /><hr />

<meta charset="gbk"><input name="q" value=""><img src="pic.png"><br><hr>

Page 26: 面向工程师的HTML

正确的doctype

正确–

Doctype须在文件首行

错误

1.<!DOCTYPE html>2.<html>3. ...

1.2.<!DOCTYPE html>3.<html>4. ...

Page 27: 面向工程师的HTML

转义字符

http://www.w3school.com.cn/tags/htm l_ref_symbols.html

正文使用转义字符

空格

&nbsp;<

&lt;

>

&gt;&

&amp;

"

&quot;...

Page 28: 面向工程师的HTML

完整的table•

正确

错误 –工程师在循环输出tr的时候需要注意

<table><tbody>

<tr><td>标题</td><td>淘宝</td></tr></tbody>

</table>

<table><tbody>

<tr><span>序号</span><td>标题 </td><td>淘宝</td></tr>

</tbody></table>

Page 29: 面向工程师的HTML

正确的input type•

正确

错误

<form action="url" method="POST"><input type="hidden" name="p1" /><input type="text" name="p2" /><button type="submit">提交</button><button type="reset">重置</button>

</form>

<form action="url" method="POST"><input name="p1"><!‐‐没有type‐‐><input type="text" name="p2"><!‐‐没有闭合‐‐><button>提交</button><!‐‐点击无行为‐‐><button type="reset">重置</button>

</form>

Page 30: 面向工程师的HTML

重复的id

页面中id不能重复•

正确

错误<div id="J_hook"></div><span id="J_hook"></span>

<div id="J_hook"></div>

Page 31: 面向工程师的HTML

文件编码

页面的文件编码是gbk,不能是utf8•

同时要加上标签

Ajax接口的编码为utf-8

<meta charset="gbk" />

Page 32: 面向工程师的HTML

完整的a标签

href不能为空•

使用“javascript:void(0);”代替空值

正确

错误

<a href="javascript:void(0);">淘宝</a>

<a href="">淘宝</a>

Page 33: 面向工程师的HTML

前后端的分工•

HTML基础

工程师需要了解的

• 扩展阅读

Page 34: 面向工程师的HTML

常用调试工具

Firefox–

Firebug

调试页面

Yslow

监测性能–

Livehttpheader

抓包

flushDNS

清空DNS缓存•

IE–

Internet Explore Developer Toolbar

Page 35: 面向工程师的HTML

查找tag配对 –vim插件

Matchit

http://www.vim.org/scripts/script.php?script_id=39

Page 36: 面向工程师的HTML

查找tag配对 - Editplus

http://www.editplus.com/

Page 37: 面向工程师的HTML

Tips

Firefox会补全丢失的标签,一定要在ie下 检查样式是否正确

Page 38: 面向工程师的HTML

Tips

保持整洁的HTML会大大减少出错概率

Page 39: 面向工程师的HTML

保持整洁的缩进

Page 40: 面向工程师的HTML

阅读注释

帮助你阅读 html

帮助你找到结 束标签

Page 41: 面向工程师的HTML

http://developer.yahoo.com/yui/3/

Page 42: 面向工程师的HTML

YUI 体系

YUI 2.x YUI 3.x

YUI Compressor Combo Handler

YUI PHP Loader YUI Builder

YUI Test Yslow

Page 43: 面向工程师的HTML

http://wiki.ued.taobao.net/doku.php?id=milktea:index

珍珠奶茶帮发起于2009年11月20日

每两周举行一次

Page 44: 面向工程师的HTML

Q & A