如何将百度云做成网站文件服务器,设计师培训心得体会,有用模板网在线制作官网免费,创建自己的网页要多少钱HTML 基础HTML 标题HTML 段落HTML 链接HTML 图片HTML 元素HTML 注释HTML 属性HTML 文本格式化HTML 头部HTML cssHTML 表格HTML 列表HTML 自定义列表HTML 区块HTML 表单HTML 框架HTML 颜色HTML 脚本HTML 事件HTML 实体HTML urlHTML5 新元素 新元素 新元素 新元素 新元素 新元素 …HTML 基础HTML 标题HTML 段落HTML 链接HTML 图片HTML 元素HTML 注释HTML 属性HTML 文本格式化HTML 头部HTML cssHTML 表格HTML 列表HTML 自定义列表HTML 区块HTML 表单HTML 框架HTML 颜色HTML 脚本HTML 事件HTML 实体HTML urlHTML5 新元素 新元素 新元素 新元素 新元素 新元素 新元素新表单元素 新元素uotput 新属性新的语义和结构元素SVG 新元素 新元素 新元素 新元素MathML 新元素 新元素 新元素 新元素 新元素 新元素 新元素 新元素 新元素 新元素 新元素 新元素 新元素HTML5 拖放Geolocation地理定位新的 Input 类型新的表单元素表单属性HTML5 语义元素Web 存储localStorage 和 sessionStorageWeb SQL 数据库Web WorkersHTML5 服务器发送事件(Server-Sent Events)HTML5 WebSocket HTML 基础
HTML 是一种用于创建网页的标记语言它使用标签来定义网页的结构和内容。
HTML 标题
HTML 标题是通过 h1 到 h6 六个标签来定义的h1 标签定义了网页的最重要的标题h6 标签定义了网页的最低级标题。
h1网页标题/h1
h2副标题/h2
h3小标题/h3 HTML 段落
HTML 段落是通过 p 标签来定义的p 标签定义了网页的正文内容。
p这是一个段落。/p
p这是一个另一个段落。/pHTML 链接
HTML 链接是通过 a 标签来定义的a 标签定义了网页的超链接。
a hrefhttps://www.baidu.com百度/aHTML 图片
HTML 图片是通过 img 标签来定义的img 标签定义了网页的图片。
img srchttps://www.baidu.com/img/bd_logo1.png alt百度logo HTML 元素
HTML 元素是 HTML 代码的基本单位它由开始标签、内容和结束标签组成。
标签名 属性名属性值内容/标签名HTML 注释
HTML 注释是通过 !-- -- 来定义的!-- -- 之间的内容不会被显示在网页上。
!-- 这是一个注释 --HTML 属性
HTML 属性是标签的附加信息它可以用来设置标签的各种属性如
class设置标签的类名可以为标签添加多个类名。id设置标签的唯一标识符可以为标签添加唯一标识符。style设置标签的样式可以为标签添加 CSS 样式。title设置标签的提示信息当鼠标悬停在标签上时会显示提示信息。
HTML 文本格式化
HTML 文本格式化是指通过 HTML 标签来控制文本的显示方式如
b 标签定义粗体文本。i 标签定义斜体文本。u 标签定义下划线文本。strike 标签定义删除线文本。sup 标签定义上标文本。sub 标签定义下标文本。
pb粗体文本/b/p
pi斜体文本/i/p
pu下划线文本/u/p
pstrike删除线文本/strike/p
pHsub2/subO/p
pXsup2/sup/p
HTML 头部
HTML 头部是指网页的元信息它包含网页的标题、描述、关键字、作者、和其他信息。
!DOCTYPE html //声明文档类型
html //html 根元素
headtitle网页标题/title //网页标题meta charsetUTF-8 //网页编码meta namedescription content网页描述 //网页描述meta namekeywords content网页关键字 //网页关键字meta nameauthor content作者 //作者
/head
body
/body
/htmlHTML css
HTML 样式表是一种用来控制 HTML 元素外观的语言它可以让网页的布局、字体、颜色等都可以被定义。
!DOCTYPE html
html
headtitle网页标题/titlestylebody {background-color: #f2f2f2; //背景颜色font-family: Arial, sans-serif; //字体font-size: 16px; //字体大小line-height: 1.5; //行高color: #333; //字体颜色}h1 {font-size: 36px; //标题字体大小color: #333; //标题字体颜色margin-top: 20px; //标题顶部外边距margin-bottom: 10px; //标题底部外边距}p {margin-top: 10px; //段落顶部外边距 margin-bottom: 10px; //段落底部外边距} /style
/head
bodyh1网页标题/h1p这是一个段落。/pp这是一个另一个段落。/p
/body
/htmlHTML 表格
HTML 表格是通过 table 标签来定义的table 标签定义了网页的表格。
colgroup 和 col 标签定义表格的列row 和 td 标签定义表格的行和单元格。
caption 标签定义表格的标题thead 标签定义表格的表头tfoot 标签定义表格的脚注tbody 标签定义表格的主体。
border 属性定义表格边框的宽度cellspacing 属性定义单元格之间的间距cellpadding 属性定义单元格内容与单元格边框之间的间距。
colspan 属性定义单元格横跨的列数rowspan 属性定义单元格纵向跨越的行数。 table border1 cellpadding5 cellspacing0
caption表格标题/caption
colgroup col span2 stylebackground-color:yellow; col stylebackground-color:pink;
/colgroup
thead tr th姓名/th th性别/th th年龄/th /tr
/thead
tfoot tr td colspan3总计/td /tr
/tfoot
tbody tr td张三/td td男/td td20/td /tr tr td女/td td25/td /tr tr td王五/td td男/td td30/td /tr
/tbody
/table
HTML 列表
HTML 列表是通过 ul 和 ol 标签来定义的ul 标签定义无序列表ol 标签定义有序列表。
li 标签定义列表项type 属性定义列表的类型start 属性定义列表的起始值。
ulli列表项1/lili列表项2/lili列表项3/li
/ulol type1 start3li列表项1/lili列表项2/lili列表项3/li
/olHTML 自定义列表
HTML 自定义列表是通过 dl 标签来定义的dl 标签定义定义列表。
dt 标签定义定义项dd 标签定义定义描述。
dldt自定义列表1/dtdd定义1/dddt自定义列表2/dtdd定义2/dd
/dlHTML 区块
HTML 区块是通过 div 标签来定义的div 标签定义了网页的区块。
divh2区块标题/h2p这是一个区块。/p
/div
span 标签定义了网页的行内元素。
p这是一个span stylecolor:red;红色/span的段落。/pHTML 表单
HTML 表单是通过 form 标签来定义的form 标签定义了网页的表单。 input 标签定义了表单的输入控件type 属性定义了输入控件的类型 name 属性定义了输入控件的名称value 属性定义了输入控件的初始值。 label 标签定义了输入控件的标签for 属性定义了输入控件的 id。
formlabel forname姓名/labelinput typetext idname namename value张三br label forgender性别/label input typeradio idmale namegender valuemale label formale男/label input typeradio idfemale namegender valuefemale label forfemale女/label br label forage年龄/label input typenumber idage nameage value20 br label foremail邮箱/label input typeemail idemail nameemail value123qq.com br label formessage留言/label textarea idmessage namemessage rows5 cols30这是一个留言。/textarea br input typesubmit value提交
/form 属性:
- accept文件类型。
- method提交方式。
- name表单名称。
- target表单提交目标。
- action表单提交地址。
- enctype表单提交编码类型。
- onsubmit表单提交事件。
- onreset表单重置事件。
- autocomplete自动完成。
- novalidate禁用表单验证。
- list列表。
- min最小值。
- max最大值。
- step步长。
- pattern正则表达式。
- required必填。
- multiple多选。
- size输入控件大小。
- form表单。
- formaction表单提交地址。
- formenctype表单提交编码类型。
- formmethod表单提交方式。
- formnovalidate禁用表单验证。
- formtarget表单提交目标。
- height输入控件高度。
- width输入控件宽度。
- alt输入控件的提示信息。
- placeholder输入控件提示信息。
- readonly只读。
- alt输入控件的提示信息。
- tabindexTab 键顺序。
- autocomplete自动完成。
- autofocus自动聚焦。
- checked默认选中。
- disabled禁用。
- form表单。
- formaction表单提交地址。
- formenctype表单提交编码类型。
- formmethod表单提交方式。
- formnovalidate禁用表单验证。
- formtarget表单提交目标。
- height输入控件高度。
- list列表。
- max最大值。
- maxlength最大长度。
- min最小值。
- multiple多选。
- name输入控件名称。
- pattern正则表达式。
- placeholder输入控件提示信息。
- readonly只读。
- required必填。
- size输入控件大小。
- src图片路径。
- step步长。
- type输入控件类型。
- value输入控件值。
- width输入控件宽度。
HTML 框架
HTML 框架是通过 frameset 和 frame 标签来定义的frameset 标签定义了网页的框架frame 标签定义了框架内的页面。
!DOCTYPE html
html
headtitle网页标题/title
/head
frameset rows20%,80%frame srctop.htmlframe srcmain.html
/frameset
/htmlHTML 颜色
HTML 颜色是通过 font 标签的 color 属性来定义的font 标签定义了网页的字体颜色。
font colorred这是一个红色的字。/fontHTML 脚本
HTML 脚本是通过 script 标签来定义的script 标签定义了网页的脚本。
scriptalert(Hello, World!);
/scriptHTML 事件
HTML 事件是指网页的用户操作如鼠标点击、鼠标移动、键盘按下、表单提交等. HTML 事件是通过 JavaScript 来处理的JavaScript 可以绑定到 HTML 事件上当事件发生时JavaScript 代码可以执行。
常见的 HTML 事件有
onclick鼠标点击事件。onmouseover鼠标移入事件。onmouseout鼠标移出事件。onkeydown键盘按下事件。onkeyup键盘松开事件。onchange表单值改变事件。onsubmit表单提交事件。onload页面加载事件。onunload页面卸载事件。onerror页面错误事件。onresize窗口大小改变事件。onscroll窗口滚动事件。onblur元素失去焦点事件。onfocus元素获得焦点事件。onselect文本被选中事件。onload页面加载完成事件。onbeforeunload页面即将卸载事件。onhashchangeURL hash值改变事件。onmessage页面间通信事件。onoffline浏览器离线事件。ononline浏览器上线事件。onpopstate页面历史记录改变事件。onstorage本地存储事件。onpagehide页面隐藏事件。onpageshow页面显示事件。onabort页面中止事件。oncanplay媒体文件可以播放事件。oncanplaythrough媒体文件可以播放至结尾事件。ondurationchange媒体文件时长改变事件。onemptied媒体文件清空事件。onended媒体文件播放结束事件。onloadeddata媒体文件加载完成数据事件。onloadedmetadata媒体文件加载元数据事件。onpause媒体文件暂停事件。onplay媒体文件播放事件。onplaying媒体文件正在播放事件。onprogress媒体文件加载进度事件。onratechange媒体文件速率改变事件。onseeked媒体文件跳转完成事件。onseeking媒体文件跳转开始事件。onstalled媒体文件加载失败事件。onsuspend媒体文件暂停事件。ontimeupdate媒体文件播放时间更新事件。onvolumechange媒体文件音量改变事件。onwaiting媒体文件缓冲事件。oncopy复制事件。oncut剪切事件。onpaste粘贴事件。onbeforeinput输入控件内容改变前事件。oninput输入控件内容改变事件。oninvalid输入控件无效输入事件。onreset表单重置事件。onsearch搜索事件。onselectstart选择控件开始事件。onselectionchange选择控件改变事件。onshow元素显示事件。onwheel滚轮事件。ondrag拖拽事件。ondragend拖拽结束事件。ondragenter拖拽进入目标元素事件。ondragleave拖拽离开目标元素事件。ondragover拖拽在目标元素上方事件。ondragstart拖拽开始事件。ondrop拖拽放下事件。onscroll滚动事件。onanimationstart动画开始事件。onanimationiteration动画一次迭代结束事件。onanimationend动画结束事件。ontransitionend动画结束事件。onpointerdown指针按下事件。onpointermove指针移动事件。onpointerup指针松开事件。onpointercancel指针取消事件。onpointerover指针悬停在目标元素上方事件。onpointerout指针移出目标元素事件。onpointerenter指针进入目标元素事件。onpointerleave指针离开目标元素事件。ongotpointercapture指针捕获事件。onlostpointercapture指针释放事件。onbeforeinstallprompt安装提示事件。onappinstalled应用安装完成事件。onbeforeprint打印前事件。onafterprint打印后事件。onbeforecopy复制前事件。onaftercopy复制后事件。onbeforecut剪切前事件。onaftercut剪切后事件。onbeforepaste粘贴前事件。onafterpaste粘贴后事件。onbeforeunload页面即将卸载事件。onafterprint页面打印完成事件。onanimationcancel动画取消事件。onanimationend动画结束事件。onanimationiteration动画迭代事件。onanimationstart动画开始事件。onauxclick辅助点击事件。onblur元素失去焦点事件。oncancel用户取消事件。oncanplay媒体文件可以播放事件。oncanplaythrough媒体文件可以播放至结尾事件。onchange元素值改变事件。onclick元素点击事件。onclose对话框关闭事件。oncontextmenu上下文菜单事件。oncuechange媒体文件cue变化事件。ondblclick元素双击事件。ondrag拖拽事件。ondragend拖拽结束事件。ondragenter拖拽进入目标元素事件。ondragleave拖拽离开目标元素事件。ondragover拖拽在目标元素上方事件。ondragstart拖拽开始事件。ondrop拖拽放下事件。
HTML 实体
HTML 实体是指 HTML 代码中使用的特殊符号如、、、、 等。
HTML 实体的作用是将特殊符号转换为对应的字符。
p这是一个lt;pgt;段落。/p常见的 HTML 实体有
小于号。大于号。和号。双引号。 空格。©版权符号。®注册商标符号。™商标符号。€欧元符号。£英镑符号。¥日元符号。¢分符号。δ希腊字母 delta。↑上箭头。↓下箭头。←左箭头。→右箭头。×乘号。÷除号。±正负号。¶段落符号。§节符号。°度符号。µ微符号。²上标 2。³上标 3。½分数 1/2。¼分数 1/4。¾分数 3/4。
HTML url
HTML url 是指网页的 URLURL 用于标识网页的位置。
URL 的格式如下
协议://主机名[:端口号]/路径名[?查询字符串][#片段标识符]HTML5 新元素 新元素
HTML5 新增了 canvas 元素用于在网页上绘制图形。
canvas 元素可以用来绘制图像、动画、游戏、动态数据图表等。
canvas idmyCanvas width200 height100/canvasscriptvar c document.getElementById(myCanvas);var ctx c.getContext(2d);ctx.fillStyle red;ctx.fillRect(10, 10, 50, 50);
/script属性:
- height画布高度。
- width画布宽度。
- getContext()获取画布的上下文。
- fillStyle填充颜色。
- fillRect()填充矩形。
- strokeStyle边框颜色。
- strokeRect()描边矩形。
- clearRect()清除矩形。
- fillText()填充文本。
- strokeText()描边文本。
- measureText()测量文本宽度。
- drawImage()绘制图像。
- createLinearGradient()创建线性渐变。
- createRadialGradient()创建放射性渐变。 新元素
HTML5 新增了 audio 元素用于在网页上播放音频。 元素支持的3种文件格式MP3、Wav、Ogg。
audio controlssource srchorse.ogg typeaudio/oggsource srchorse.mp3 typeaudio/mpegYour browser does not support the audio element.
/audio属性:
- autoplay自动播放。
- controls显示控制条。
- loop循环播放。
- muted静音播放。
- src音频文件路径。
- volume音量。 新元素
HTML5 新增了 video 元素用于在网页上播放视频。
video width320 height240 controlssource srcmovie.mp4 typevideo/mp4source srcmovie.ogg typevideo/oggYour browser does not support the video tag.
/video属性:
- autoplay自动播放。
- controls显示控制条。
- height视频高度。
- loop循环播放。
- muted静音播放。
- poster封面图片。
- src视频文件路径。
- width视频宽度。
- volume音量。
- oncanplaythrough视频可以播放至结尾事件。
- onended视频播放结束事件。
- onerror视频播放错误事件。
- onloadeddata视频加载完成数据事件。
- onloadedmetadata视频加载元数据事件。
- onpause视频暂停事件。
- onplay视频播放事件。
- onplaying视频正在播放事件。
- onprogress视频加载进度事件。
- onratechange视频速率改变事件。
- onseeked视频跳转完成事件。
- onseeking视频跳转开始事件。
- onstalled视频加载失败事件。
- onsuspend视频暂停事件。
- ontimeupdate视频播放时间更新事件。
- onvolumechange视频音量改变事件。 新元素
HTML5 新增了 source 元素用于指定不同格式的视频文件。
video width320 height240 controlssource srcmovie.mp4 typevideo/mp4source srcmovie.ogg typevideo/oggYour browser does not support the video tag.
/video新元素
HTML5 新增了 embed 元素用于在网页上嵌入外部应用程序或插件。
embed srcexample.swf typeapplication/x-shockwave-flash width300 height200属性:
- height嵌入内容高度。
- src嵌入内容文件路径。
- type嵌入内容类型。
- width嵌入内容宽度。
- align对齐方式。 新元素
HTML5 新增了 track 元素用于为媒体文件添加字幕。
video width320 height240 controlssource srcmovie.mp4 typevideo/mp4source srcmovie.ogg typevideo/oggtrack kindsubtitles srcsubtitles_en.vtt srclangen labelEnglishYour browser does not support the video tag.
/video
属性:
- kind字幕类型。
- src字幕文件路径。
- srclang字幕语言。
- label字幕语言名称。新表单元素 新元素
HTML5 新增了 datalist 元素用于创建下拉列表。
input listbrowsers
datalist idbrowsersoption valueInternet Exploreroption valueFirefoxoption valueChromeoption valueOperaoption valueSafari
/datalist属性:
- list关联的 input 元素。
- value下拉列表选项值。
uotput 新属性
HTML5 新增了 output 元素用于显示计算结果。
form oninputresult.valueparseInt(a.value)parseInt(b.value)input typenumber ida value5 input typenumber idb value10 output nameresult fora b/output
/form
属性:
- name输出结果名称。
- for关联的 input 元素。新的语义和结构元素
HTML5提供了新的元素来创建更好的页面结构标签 描述
article 定义页面独立的内容区域。
aside 定义页面的侧边栏内容。
bdi 允许您设置一段文本使其脱离其父元素的文本方向设置。
command 定义命令按钮比如单选按钮、复选框或按钮
details 用于描述文档或文档某个部分的细节
dialog 定义对话框比如提示框
summary 标签包含 details 元素的标题
figure 规定独立的流内容图像、图表、照片、代码等等。
figcaption 定义 figure 元素的标题
footer 定义 section 或 document 的页脚。
header 定义了文档的头部区域
mark 定义带有记号的文本。
meter 定义度量衡。仅用于已知最大和最小值的度量。
nav 定义导航链接的部分。
progress 定义任何类型的任务的进度。
ruby 定义 ruby 注释中文注音或字符。
rt 定义字符中文注音或字符的解释或发音。
rp 在 ruby 注释中使用定义不支持 ruby 元素的浏览器所显示的内容。
section 定义文档中的节section、区段。
time 定义日期或时间。
wbr 规定在文本中的何处适合添加换行符。SVG 新元素
HTML5 新增了 svg 元素用于创建矢量图形。
svg width100 height100circle cx50 cy50 r40 strokeblack stroke-width3 fillred /
/svg属性:
- height图形高度。
- width图形宽度。
- viewBox定义坐标系统。
- cx圆心 x 坐标。
- cy圆心 y 坐标。
- r半径。
- stroke边框颜色。
- stroke-width边框宽度。
- fill填充颜色。
- transform图形变换。
- d路径数据。
- pathLength路径长度。
- points多边形顶点。
- x1线段起点 x 坐标。
- y1线段起点 y 坐标。
- x2线段终点 x 坐标。
- y2线段终点 y 坐标。
- x矩形左上角 x 坐标。
- y矩形左上角 y 坐标。
- width矩形宽度。
- height矩形高度。
- rx矩形 x 轴半径。
- ry矩形 y 轴半径。 新元素
HTML5 新增了 use 元素用于重用 SVG 元素。
svg width100 height100circle idmyCircle cx50 cy50 r40 strokeblack stroke-width3 fillred /use x50 y50 xlink:href#myCircle //svg 新元素
HTML5 新增了 animate 元素用于创建动画。
svg width100 height100circle idmyCircle cx50 cy50 r40 strokeblack stroke-width3 fillred /animate attributeNamecx from50 to100 dur5s /animate attributeNamecy from50 to100 dur5s /animate attributeNamer from40 to80 dur5s /use x50 y50 xlink:href#myCircle //svg 新元素
HTML5 新增了 animateTransform 元素用于创建变换动画。
svg width100 height100circle idmyCircle cx50 cy50 r40 strokeblack stroke-width3 fillred /animateTransform attributeNametransform typerotate from0 50 50 to360 50 50 dur5s /
use x50 y50 xlink:href#myCircle //svg
MathML 新元素 新元素
HTML5 新增了 math 元素用于创建数学公式。
mathmrowmix/mimo/momiy/mi/mrowmo/momrowmiz/mimo/momn2/mn/mrow
/math 新元素
HTML5 新增了 mstyle 元素用于设置数学公式的样式。
mathmstyle displaystyletruemrowmix/mimo/momiy/mi/mrowmo/momrowmiz/mimo/momn2/mn/mrow/mstyle
/math 新元素
HTML5 新增了 mrow 元素用于创建行级数学公式。
mathmrowmix/mimo/momiy/mi/mrowmo/momrowmiz/mimo/momn2/mn/mrow
/math 新元素
HTML5 新增了 mfrac 元素用于创建分数数学公式。
mathmfracmrowmix/mimo/momiy/mi/mrowmrowmiz/mimo/momn2/mn/mrow/mfrac
/math新元素
HTML5 新增了 msqrt 元素用于创建平方根数学公式。
mathmsqrtmix/mi/msqrt
/math新元素
HTML5 新增了 mroot 元素用于创建根数学公式。
mathmrootmix/mimn3/mn/mroot
/math新元素
HTML5 新增了 mstyle 元素用于设置数学公式的样式。
mathmstyle displaystyletruemrowmix/mimo/momiy/mi/mrowmo/momrowmiz/mimo/momn2/mn/mrow/mstyle
/math新元素
HTML5 新增了 merror 元素用于创建错误数学公式。
mathmerrormrowmix/mimo/momiy/mi/mrowmo/momrowmiz/mimo/momn2/mn/mrow/merror
/math新元素
HTML5 新增了 mtext 元素用于创建文本数学公式。
mathmtextThis is some text./mtext
/math新元素
HTML5 新增了 mspace 元素用于创建空白数学公式。
mathmspace width1em /
/math新元素
HTML5 新增了 menclose 元素用于创建围绕数学公式的框。
mathmenclose notationlongdivmrowmix/mimo/momiy/mi/mrow/menclose
/math新元素
HTML5 新增了 mtable 元素用于创建表格数学公式。
mathmtablemtrmtdmix/mi/mtdmtdmiy/mi/mtd/mtrmtrmtdmiz/mi/mtdmtdmn2/mn/mtd/mtr/mtable
/mathHTML5 拖放
HTML5 拖放 API 提供了一种在网页上拖放元素的简单方式。
div iddrag ondragstartdrag(event)Drag me/divscript
function drag(event) {event.dataTransfer.setData(text, event.target.id);
}
/script属性
- ondragstart拖动开始事件。
- dataTransfer数据传输对象。
- setData()设置数据。
- getData()获取数据。
- drop拖动结束事件。
- effectAllowed允许的拖动效果。
- types允许的类型。
- files拖动的文件。
Geolocation地理定位
HTML5 Geolocation API 提供了一种在网页上获取用户位置的简单方式。
button onclickgetLocation()Get Location/buttonp iddemo/pscript
function getLocation() {if (navigator.geolocation) {navigator.geolocation.getCurrentPosition(showPosition);} else { document.getElementById(demo).innerHTML Geolocation is not supported by this browser.;}
}function showPosition(position) {document.getElementById(demo).innerHTML Latitude: position.coords.latitude
brLongitude: position.coords.longitude;
}
/script属性:
- getCurrentPosition()获取用户位置。
- coords.latitude纬度。
- coords.longitude经度。
- coords.accuracy精度。
- timestamp时间戳。
- altitude海拔高度。
- altitudeAccuracy海拔高度精度。
- heading航向角。
- speed速度。
- altitudeAccuracy海拔高度精度。
- heading航向角。
- speed速度。
- address地址。新的 Input 类型
HTML5 新增了新的 input 类型
color颜色选择器。date日期选择器。datetime日期时间选择器。datetime-local本地日期时间选择器。email电子邮件输入框。month月份选择器。number数字输入框。range滑动输入框。search搜索框。tel电话号码输入框。time时间选择器。urlURL 输入框。week周选择器。
label forcolorColor:/label
input typecolor idcolor namecolorlabel fordateDate:/label
input typedate iddate namedatelabel fordatetimeDate and time:/label
input typedatetime iddatetime namedatetimelabel fordatetime-localLocal date and time:/label
input typedatetime-local iddatetime-local namedatetime-locallabel foremailEmail:/label
input typeemail idemail nameemaillabel formonthMonth:/label
input typemonth idmonth namemonthlabel fornumberNumber:/label
input typenumber idnumber namenumberlabel forrangeRange:/label
input typerange idrange namerangelabel forsearchSearch:/label
input typesearch idsearch namesearchlabel fortelTelephone:/label
input typetel idtel nametellabel fortimeTime:/label
input typetime idtime nametimelabel forurlURL:/label
input typeurl idurl nameurllabel forweekWeek:/label
input typeweek idweek nameweek新的表单元素
HTML5 新增了新的表单元素
datalist下拉列表。keygen密钥生成器。output输出结果。progress进度条。meter进度指示器。fieldset字段集。legend字段集标题。details详情。summary详情标题。command命令按钮。menu菜单。menuitem菜单项。dialog对话框。script脚本。
label forcarsChoose a car:/label
input listcars idcars namecars
datalist idcarsoption valueToyotaoption valueHondaoption valueFordoption valueBMW
/datalistlabel forkeyEnter a key:/label
keygen idkey namekeylabel foroutputResult:/label
output nameoutput fora b/outputprogress value25 max100/progressmeter value0.5 min0 max1/meterfieldset // 字段集legendPersonal Information/legendlabel fornameName:/labelinput typetext idname namenamelabel foremailEmail:/labelinput typeemail idemail nameemaillabel forphonePhone:/labelinput typetel idphone namephone
/fieldsetdetails // 详情summaryMore information/summarypHere is some more information./p
/detailsscript// 脚本alert(Hello, world!);
/script menu // 菜单menuitem typecommand labelNew menuitem typecommand labelOpen menuitem typecommand labelSave menuitem typecommand labelSave As... hr menuitem typecheckbox labelBold checked menuitem typecheckbox labelItalic menuitem typecheckbox labelUnderline hr menuitem typeradio labelOption 1 nameoptions menuitem typeradio labelOption 2 nameoptions menuitem typeradio labelOption 3 nameoptions
/menudialog idmyDialog // 对话框formlabel fornameName:/labelinput typetext idname namenamelabel foremailEmail:/labelinput typeemail idemail nameemaillabel forphonePhone:/labelinput typetel idphone namephonebutton typesubmitSubmit/buttonbutton typeresetReset/button/form
/dialog表单属性
HTML5 新增了一些表单属性
autocomplete自动完成。autofocus自动聚焦。form表单。formaction表单提交地址。formenctype表单提交编码类型。formmethod表单提交方法。formnovalidate禁用表单验证。formtarget表单提交目标。list列表。min最小值。max最大值。pattern正则表达式。placeholder占位符。readonly只读。required必填。step步长。multiple多选。size尺寸。
label fornameName:/label
input typetext idname namename autocompleteoff autofocuslabel foremailEmail:/label
input typeemail idemail nameemail requiredlabel forphonePhone:/label
input typetel idphone namephone pattern[0-9]{3}-[0-9]{3}-[0-9]{4} placeholder123-456-7890label formessageMessage:/label
textarea idmessage namemessage rows5 cols30 maxlength100/textarealabel forcarsChoose a car:/label
select idcars namecarsoption valueToyotaToyota/optionoption valueHondaHonda/optionoption valueFordFord/optionoption valueBMWBMW/option
/selectlabel forfileChoose a file:/label
input typefile idfile namefileform actionsubmit.php methodpost enctypemultipart/form-datalabel fornameName:/labelinput typetext idname namename requiredlabel foremailEmail:/labelinput typeemail idemail nameemail requiredlabel forphonePhone:/labelinput typetel idphone namephone requiredlabel forfileChoose a file:/labelinput typefile idfile namefile requiredbutton typesubmitSubmit/button
/formHTML5 语义元素
HTML5 新增了一些语义元素
article文章。section章节。nav导航。aside侧边栏。hgroup标题组。header页眉。footer页脚。figure图表。figcaption图表标题。main主要内容。mark标记。time时间。audio音频。video视频。canvas画布。progress进度条。meter进度指示器。details详情。summary详情标题。data数据。code代码。kbd键盘输入。pre预格式化。q短引用。blockquote块引用。cite引用。em强调。strong重要。small小型。sub下标。sup上标。i斜体。b粗体。u下划线。s删除线。strike删除线。br换行。hr水平线。a链接。img图片。embed嵌入。object对象。param参数。video视频。source媒体源。track媒体轨道。canvas画布。map地图。area区域。svg矢量图。math数学公式。ruby中文标点。rt中文注音。rp中文注音括号。bdiBi-directional Isolation。bdoBi-directional Override。wbrWord Break Opportunity。
Web 存储
HTML5 提供了 Web 存储可以将数据存储在用户的浏览器中 可以将数据存储在本地也可以将数据存储在服务器上。
button onclicksave()Save/button
button onclickload()Load/button
script
function save() {localStorage.setItem(name, John Doe);sessionStorage.setItem(age, 30);
}
function load() {document.getElementById(name).value localStorage.getItem(name);document.getElementById(age).value sessionStorage.getItem(age);
}
/scriptlocalStorage 和 sessionStorage
localStorage 和 sessionStorage 都是 Web 存储 API 的一部分 它们都可以用来存储数据但是它们的生命周期不同。
localStoragelocalStorage 存储的数据在浏览器关闭后依然存在除非手动删除。sessionStoragesessionStorage 存储的数据在浏览器窗口关闭后就清除。存储大小localStorage 和 sessionStorage 存储的数据量没有限制可以存储大量的数据。存储位置localStorage 和 sessionStorage 存储在用户的本地计算机上不受服务器控制。安全性localStorage 和 sessionStorage 存储的数据不会发送到服务器所以安全性较高。性能localStorage 和 sessionStorage 存储数据时比 cookie 要快。访问限制localStorage 和 sessionStorage 存储的数据只能由同源的 JavaScript 脚本访问。存储对象localStorage 和 sessionStorage 存储的数据只能存储字符串如果要存储对象需要先将对象转换为字符串。命名规则localStorage 和 sessionStorage 存储的键名可以包含字母、数字、下划线和句点但不能以数字开头。编码规则localStorage 和 sessionStorage 存储的数据在客户端和服务器之间传输时会自动进行编码。
Web SQL 数据库
HTML5 提供了 Web SQL 数据库可以用来存储结构化数据。
button onclickcreateTable()Create Table/button
button onclickinsertData()Insert Data/button
button onclickselectData()Select Data/button
button onclickdeleteData()Delete Data/button
script
var db;
function initDatabase() {if (!window.openDatabase) {alert(Web SQL is not supported by this browser.);return;}db openDatabase(myDatabase, 1.0, My Database, 2 * 1024 * 1024);
}function createTable() {db.transaction(function(tx) {tx.executeSql(CREATE TABLE IF NOT EXISTS myTable (id INTEGER PRIMARY KEY, name TEXT, age INTEGER));});
}function insertData() {db.transaction(function(tx) {tx.executeSql(INSERT INTO myTable (name, age) VALUES (?,?), [John Doe, 30]);});
}function selectData() {db.transaction(function(tx) {tx.executeSql(SELECT * FROM myTable, [], function(tx, results) {var len results.rows.length;for (var i 0; i len; i) {var name results.rows.item(i).name;var age results.rows.item(i).age;alert(Name: name , Age: age);}});});
}function deleteData() {db.transaction(function(tx) {tx.executeSql(DELETE FROM myTable, []);});
}initDatabase();
/scriptWeb Workers
HTML5 提供了 Web Workers可以用来在后台运行脚本不会影响页面的响应。 当在 HTML 页面中执行脚本时页面的状态是不可响应的直到脚本已完成。
web worker 是运行在后台的 JavaScript独立于其他脚本不会影响页面的性能。您可以继续做任何愿意做的事情点击、选取内容等等而此时 web worker 在后台运行。
!DOCTYPE html
html
headmeta charsetutf-8title菜鸟教程(runoob.com)/title
/head
bodyp计数 output idresult/output/p
button onclickstartWorker()开始工作/button
button onclickstopWorker()停止工作/buttonpstrong注意/strong Internet Explorer 9 及更早 IE 版本浏览器不支持 Web Workers./pscriptvar w;// 定义一个 Web Workerfunction startWorker() { // 启动 Web Workerif(typeof(Worker) ! undefined) { // 检查浏览器是否支持 Web Workersif(typeof(w) undefined) { // 判断 Web Worker 是否已定义w new Worker(demo_workers.js); // 定义 Web Worker}w.onmessage function(event) { // 监听 Web Worker 的消息 document.getElementById(result).innerHTML event.data; // 更新计数};} else {document.getElementById(result).innerHTML 抱歉你的浏览器不支持 Web Workers...;}}function stopWorker(){w.terminate();w undefined;}
/script/body
/htmlHTML5 服务器发送事件(Server-Sent Events)
HTML5 提供了服务器发送事件可以用来实时地向浏览器推送数据。
Server-Sent 事件指的是网页自动获取来自服务器的更新。
以前也可能做到这一点前提是网页不得不询问是否有可用的更新。通过服务器发送事件更新能够自动到达。
例子更新、股价更新、新的博文、赛事结果等。
接收 Server-Sent 事件通知
!DOCTYPE html
html
headmeta charsetutf-8
/head
bodyscriptif (typeof(EventSource)! undefined) { // 检查浏览器是否支持 Server-Sent 事件var source new EventSource(sse.php);// 创建一个新的 Server-Sent 事件源source.onmessage function(event) {// 监听 Server-Sent 事件document.getElementById(result).innerHTML event.data; // 更新内容};source.onerror function(event) {// 监听 Server-Sent 事件错误if (event.target.readyState EventSource.CLOSED) { // 连接关闭document.getElementById(result).innerHTML 连接关闭; // 显示提示信息}};} else {document.getElementById(result).innerHTML 抱歉你的浏览器不支持 Server-Sent 事件...;}
/script/body
/html发送 Server-Sent 事件通知
?php
header(Content-Type: text/event-stream); // 设置响应类型
header(Cache-Control: no-cache); // 禁止缓存
header(Connection: keep-alive); // 保持连接$counter 0; // 计数器
while(true) { // 循环$counter;// 计数器加 1echo data: The counter is .$counter.\n\n; // 发送数据ob_flush(); // 刷新输出缓冲区flush(); // 刷新输出缓冲区sleep(1);// 等待 1 秒
}
?HTML5 WebSocket
HTML5 WebSocket 是 HTML5 定义的一种协议它使得客户端和服务器之间可以进行全双工通信。
WebSocket 是一种双向通信协议在建立连接之后WebSocket 服务器和客户端之间可以互相发送数据。
WebSocket 协议自 2011 年 12 月 25 日正式成为 RFC 6455 标准。
WebSocket 协议支持两种模式
文本模式WebSocket 协议的默认模式使用字符串或 JSON 数据。二进制模式WebSocket 协议的二进制模式使用 ArrayBuffer 或 Blob 数据。除了文本模式和二进制模式WebSocket 协议还支持自定义帧格式。压缩WebSocket 协议支持数据压缩以减少网络流量。安全WebSocket 协议支持安全套接层 (SSL/TLS) 和 WebSocket 安全 (WS-Security)。多路复用WebSocket 协议支持多路复用允许多个 WebSocket 连接复用同一个 TCP 连接。协议扩展WebSocket 协议支持协议扩展允许开发者自定义帧格式。协议版本WebSocket 协议支持多版本包括 75、76、77、78、79 版本。
WebSocket 使得客户端和服务器之间的数据交换变得更加简单允许服务端主动向客户端推送数据。在 WebSocket API 中浏览器和服务器只需要完成一次握手两者之间就直接可以创建持久性的连接并进行双向数据传输。
浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求连接建立以后客户端和服务器端就可以通过 TCP 连接直接交换数据。
当你获取 Web Socket 连接后你可以通过 send() 方法来向服务器发送数据并通过 onmessage 事件来接收服务器返回的数据。
什么是 WebSocket
WebSocket 是一种网络通信协议提供了在单个 TCP 连接上进行全双工通信的能力。在 WebSocket 连接中客户端和服务器之间可以相互发送数据这使得 WebSocket 特别适合实时应用例如在线聊天、游戏、股票更新等。WebSocket 的工作原理
建立连接WebSocket 以 HTTP 协议进行初始的握手客户端发送一个 HTTP 请求来请求建立 WebSocket 连接。
如果服务器支持 WebSocket它将返回一个 101 状态码的响应表示协议切换成功。此时HTTP 连接升级为 WebSocket 连接。
全双工通信一旦 WebSocket 连接建立客户端和服务器可以随时通过这个连接发送和接收消息。
数据通过帧frame的形式传输可以是文本、二进制数据等。
关闭连接任何一方都可以发送关闭帧表示要关闭连接。
WebSocket 的优点
实时性由于 WebSocket 是持久连接数据可以实时传输无需等待请求和响应这样降低了延迟。
效率WebSocket 的通信开销较小头部开销比传统的 HTTP 请求低更加高效。
双向通信支持服务器主动推送数据给客户端适用于需要实时更新的应用场景。
WebSocket 的基本使用步骤
创建 WebSocket 对象。
连接到 WebSocket 服务器。
发送和接收消息。
关闭连接。