html简述及html5新特性
HTML标准结构
html:超文本标记语言,以.html或者.htm为后缀,由浏览器解析执行
文档类型声明
指定html的版本和风格
1 |
html页面
组成
由一对根标记组成,在根标记中包括两部分:文件头定义网页全局信息,文件主体显示页面的主要内容
1 | <!--文档类型声明--> |
特殊符号
1 | <!-- 空格 --> |
文本
文本标记
1 | <i></i> <!-- 倾斜 --> |
标题元素
1 | <hn></hn> <!-- n:1-6数字 --> |
段落标记(块元素)
1 | <p>内容</p> |
以段落的形式显示文本,文字大小采用默认大小,段落元素独占成行,而且距离其他元素会有垂直空白间距
换行元素
1 | <br> |
分割线元素
1 | <hr> |
预格式化
保留源文件中的格式,保留源文件的换行和空格效果
1 | <pre></pre> |
分区元素
(1)块分区,div,形式:1.独立成行;2.无任何文本显示效果 作用:布局
(2)行分区,span,形式:1.多个span元素在一行中显示; 2.无任何特殊效果 作用:处理一行文字的不同效果
(3)行内元素与块级元素
1.行内元素:多个元素在一行内显示;ex:span,i,b,u,s,sup,sub,a,img
2.块级元素:每个块级元素会独自成行,即前后有换行的效果;ex:div,p,h1-h6,(结构标记) 作用:为了布局
图像
图像格式
jpg(jpeg): 压缩;png : 背景透明;gif : 动画;
图像元素
1.语法:img
2.属性: src:要显示图片的路径(url); width:宽度;height:高度;title:鼠标移入到元素上时,提示文字;alt:图片出错时显示文字
input
1 | <input type="text"> <!-- 文本框 --> |
html5新特性
(1)新的语义标签
(2)增强型表单
(3)视频、音频
(4)Canvas绘图 (位图/矢量图)
(5)SVG绘图
(6)地理定位
(7)拖放API
(8)Web Woker
(9)Web Storage
(10)Web Socket
1.结构标记(语义标签)
在HTML5中,专门提出的一组来表示网页的结构。
和div是同样的作用,优点是提升布局代码的语义性和可读性,看到结构标记就可以知道这些标记是什么作用,用在哪里;缺点是不如div方便,div是所有的地方都可以用,约定俗成,而结构标记局限性较大,在功能上没有什么不同。
1 | <header></header> <!-- 页眉 --> |
2.增强表单
1.input新增type类型
1 | <input type="email"> <!-- 电子邮件 --> |
2.新表单元素
H4中表单元素:input/textarea/select/option/label
H5新表单元素:datalist/progress/meter/output
(1)、datalist
1 | <datalist id="list1"> |
(2)、progress(进度条)
1 | <form action="#"> |
(3)、meter(度量衡,刻度尺)
用于标示一个值所处范围:不可收受(红色),可以接受(黄色), 非常优秀(绿色)。
1 | <meter min="可取最小值" max="可取最大值" low="合理的下限值" high="合理上限值" optimum="最佳值" value="当前实际值"></meter> |
1 | <form action="#"> |
(4)、output(输出)
语义标签,没有任何外观样式,样式上等同span,功能上等同于span,语义标签的优缺点前文已经提过,在此不再赘述。
3.表单元素新属性
H4的属性有 id/class/title/style/type/value/name/readonly/disabled/checked
H5中表单元素新属性
placeholder:占位字符,在文本框未输入时起提示作用
1 | <input value="tom" placeholder="请输入用户名" /> |
autofocus:自动获取输入焦点
1 | <input autofocus /> |
multiple: 允许输入框中出现多个输入(如有多个输入,用逗号分隔)
1 | <input type="email" multiple/> |
form:为一个元素指定form属性,值为某个表单的ID,则此输入域可以放到表单的外部
1 | <form id="f5"></form> |
autocomplete: on/off ,自动补全,是否自动记录之前提交的数据,以用于下一次输入建议
1 | <input autocomplete="on"/> <!-- 自动补全 --> |
required:false/true,必需的/必填项,在表单提交时会验证是否有输入,没有输入则弹出提示消息
1 | <input required> <!-- 必填项 --> |
maxlength:最大长度,在有输入的情况下,限定输入域中字符的个数
minlength:最小长度,在有输入的情况下,限定输入域中字符的个数,不是HTML5标准属性,仅部分浏览器支持(如Chrome)
1 | <input maxlength="9" minlength="6"> <!-- 最少长度6,最大长度9 --> |
min:限定输入的数字的最小值
max:限定输入的数字的最大值
step:限定输入的数字的步长,与min属性连用
1 | <input min="3" max="42" step="2"> <!-- 最小值为3,最大值为42,步长为2 --> |
pattern:指定一个正则表达式,对输入进行验证
1 | 1. <input type="text" pattern="1[8475]\d{9}"> |
3.视频和音频
视频 video:默认300*150的inline-block元素
1 | <video src="res/birds.mp4"></video> |
autoplay:false 不自动播放
controls:false 不显示播放控件
loop:false 不循环播放
muted:false 不是静音播放
poster:” “ 在播放第一帧之前显示的海报
preload: 视频预加载策略,可取值
auto:预加载视频的元数据以及缓存一定时长
metadata:仅加载视频元数据
none:不预加载任何数据
音频播放 audio:默认300*30的inline-block元素
1 | <audio src="res/bg.mp3"></audio> |
autoplay:false 是否自动播放
controls:false 是否显示播放控件
loop:false 是否循环播放
muted:false 是否是静音
preload: 音频预加载策略
auto: 预加载音频元数据以及缓存一定时长
metadate: 仅预加载音频元数据
none: 不预加载作何数据
4.Canvas绘图技术
网页中可用的绘图技术
(1)、SVG绘图:2D矢图绘图技术2000年出现,后纳入H5标准
(2)、Canvas绘图:2D位图绘图技术,H5提出绘图技术
(3)、WebGL绘图:3D绘图技术,尚未纳入H5标准
Canvas:画布,浏览器中默认300*150的inline-block元素,画布宽度和高度只能使用HTML/JS属性来赋值,不能使用CSS样式赋值!
使用canvas绘制图形
1 | var ctx = canvas.getContext("2d"); //得到画布上的画笔对象 |
使用canvas绘制一段文本
1 | ctx.textBaseline = "alphabetic"; //文本基线 |
canvas绘图中使用渐变对象
1 | <canvas id="cv" width="500" height="400"> |
使用canvas进行绘图–路径
1 | <canvas id="cv" width="500" height="400"> |
使用canvas进行绘图–图片
1 | <canvas id="cv" width="500" height="400"> |
此篇博客只记录前4个html5新特性,后续请等待。