转载请声明 原文链接
这篇文章主要总结H5的一些新增的功能以及一些基础归纳,这里只是一个提纲,并不是很详细,后面会一直完善补充新的内容,本文是一些笔记记录,放在这里供自己参考也供他人学习!
HTML5
是新一代的 HTML
DTD
声明改变
ie8
不兼容hground
如果有多级标题,这个元素可以将H
元素进行分组mark
这个元素可以显示特殊情况下的重要文字small
这个元素表示边栏评论,如附属细则cite
这个元素可用于显示作品标题(图书、电影、诗歌等)adress
这个元素显示article
或整个文档的合同信息,且位于footer
这个元素之中time
显示人和机器可读的日期和时间,而且机器可读的时间戳是属性datetime
的值第二个可选的是pubtime
用于表示出版日期值HTML
标签basefont
big
center
font
s
strike
tt
u
frame
frameset
noframes
acronym
applet
isindex
dir
重新定义的HTML
标签
代表内联文本,通常是粗体,没有传递表示重要的意思
代表内联文本,通常是斜体,没有传递表示重要的意思
可以同details
与figure
一同使用,定义包含文本,ialog
也可用
可以同details
与figure
一同使用,汇总细节,dialog
也可用
表示主题结束,而不是水平线,虽然显示相同
重新定义用户界面的菜单,配合commond
或者menuitem
使用
表示小字体,例如打印注释或者法律条款
表示重要性而不是强调符号崭新新的页面布局
input
表单type
属性值 type="text"
单行文本输入框type="password"
密码(maxlength=""
)type="radio"
单项选择(checked="checked"
)type="checkbox"
多项选择type="button"
按钮type="submit"
提交type="file"
上传文件type="reset"
重置input
表单type
属性值: type = "email"
限制用户输入必须为Email
类型type="url"
限制用户输入必须为URL
类型type="date"
限制用户输入必须为日期类型type="datetime"
显示完整日期 含时区type="datetime-local"
显示完整日期 不含时区type="time"
限制用户输入必须为时间类型type="month"
限制用户输入必须为月类型type="week"
限制用户输入必须为周类型type="number"
限制用户输入必须为数字类型type="range"
生成一个滑动条type="search"
具有搜索意义的表单results="n"
属性type="color"
生成一个颜色选择表单type="tel"
显示电话号码HTML5
拥有多个可供选取日期和时间的新输入类型:date
选取日、月、年month
选取月、年week
选取周和年time
选取时间(小时和分钟)
以下两个没有作用
datetime
选取时间、日、月、年(UTC 时间)datetime-local
选取时间、日、月、年(本地时间)required:
required
内容不能为空placeholder:
表单提示信息autofocus:
自动聚焦pattern:
正则表达式 输入的内容必须匹配到指定正则范围autocomplete:
是否保存用户输入值 on
,关闭提示选择off
formaction:
在submit
里定义提交地址datalist:
输入框选择列表配合list
使用 list
值为datalist
的id
值output:
计算或脚本输出validity
对象,通过下面的valid
可以查看验证是否通过,如果八种验证都返回true
,一种验证失败返回false
oText.addEventListener("invalid",fn1,false)
ev.preventDefault()
: 阻止默认事件valueMissing
: 当输入值为空的时候,返回true
typeMismatch
: 控件值与预期不吻合,返回true
patternMismatch
: 输入值不满足pattern
正则,返回true
cusomError
setCustomValidity()
CSS3
发展史简介
HTML
的诞生 20世纪90年代初1996
年底, CSS
第一版诞生1998
年5
月 CSS2
正式发布2004
年 CSS2.1
发布CSS3
的发布 2002
2003
2004
2005
2007
2009
2010
模块化开发
CSS1
中定义了网页的基本属性: CSS2
中在CSS1
的基础上添加了高级功能 CSS3
遵循的是模块化开发。发布时间并不是一个时间点,而是一个时间段CSS
选择器复习
*
选择到所有的元素>
选择到元素的直接后代+
选择到紧随目标元素后的第一个元素~
选择到紧随其后的所有兄弟元素::first-line
匹配文本块的首行::first-letter
选择文本块的首字母:before
,:after
在元素内容前面、后面添加内容(相当于行内元素)CSS3结构选择器
Css3
属性选择器CSS3
伪类选择器
:enabled
选择启用状态元素:disabled
选择禁用状态元素:checked
选择被选中的input
元素(单选按钮或复选框):default
选择默认元素:valid
、invalid
根据输入验证选择有效或无效的input
元素:in-range
、out-of-range
选择指定范围之内或者之外受限的元素:required
、optional
根据是否允许:required
属性选择input
元素
动态伪类选择器:
:link
选择链接元素:visited
选择用户以访问的元素:hover
鼠标悬停其上的元素:active
鼠标点击时触发的事件:focus
当前获取焦点的元素
其他伪类选择器:
:not(<选择器>)
对括号内选择器的选择取反:lang(<目标语言>)
基于lang
全局属性的元素:target
url
片段标识符指向的元素 :empty
选择内容为空的元素:selection
鼠标光标选择元素内容CSS文本属性复习
white-space
:对象内空格的处理方式
nowrap
控制文本不换行
pre
空白会被浏览器保留
pre-line
合并空白 保留换行符
pre-wrap
保留空白 正常换行
direction
:文本流的方向
ltr
文本从左向右rtl
文本从右往左unicode-bidi
:用于同一个页面里存在从不同方向读进的文本显示。与direction
属性一起使用
CSS3新增文本属性
color:rgba()
;text-overflow
:是否使用一个省略标记(…)标示对象内文本的溢出text-align
:文本的对齐方式text-transform
:文字的大小写text-decoration
:文本的装饰线,复合属性text-shadow
:文本阴影text-fill-color
:文字填充颜色text-stroke
:复合属性。设置文字的描边tab-size
:制表符的长度word-wrap
:当前行超过指定容器的边界时是否断开转行word-break
:规定自动换行的处理方法text-overflow:
是否使用一个省略标记(...
)标示对象内文本的溢出
clip
: 默认值 无省略号ellipsis
:当对象内文本溢出时显示省略标记(...
)。over-flow:hidden
属性(超出处理)还有 white-space:nowrap
(禁止换行)配合使用,否则无法看到效果text-align
:文本的对齐方式
css1
left
:默认值 左对齐right
:右对齐center
:居中justify
: 内容两端对齐。css3
start
:开始边界对齐end
:结束边界对齐text-transform
:文字的大小写
css1
none
: 默认值 无转换 capitalize
: 将每个单词的第一个字母转换成大写 uppercase
: 转换成大写 lowercase
: 转换成小写css3
full-width
: 将左右字符设为全角形式。不支持full-size-kana
:将所有小假名字符转换为普通假名。不支持 text-decoration
:文本的装饰线,复合属性(只火狐支持)
text-decoration-line
: CSS1
时的text-decoration
属性text-decoration-style
: text-decoration-color
: blink
: 指定文字的装饰是闪烁。 opera
和firefox
text-decoration
: #F00 double overline
CSS3
实例text-shadow
:文本阴影
x
y
blur
color
,…… x
横向偏移y
纵向偏移blur
模糊距离(灰度)color
阴影颜色text-fill-color
:文字填充颜色
text-stroke
:复合属性。设置文字的描边 text-stroke-width
:文字的描边厚度 text-stroke-color
:文字的描边颜色 tab-size
:制表符的长度 8
(一个tab
键的空格字节长度),在 pre
标签之内才会有显示word-wrap
:当前行超过指定容器的边界时是否断开转行 normal
: 默认值break-word
: CSS3弹性盒模型
display:box
或者display:inline-box
; 设置给父元素box-orient
定义盒模型的布局方向 设置给父元素 horizontal
水平显示vertical
垂直方向box-direction
元素排列顺序 设置给父元素 normal
正序reverse
反序box-ordinal-group
设置元素的具体位置 设置子元素flex
布局语法篇
CSS背景属性复习
background
: background-color
:背景颜色background-image
:背景图片background-repeat
:背景重复background-position
:背景定位background-attachment
:背景固定(scroll/fixed)
CSS3新增背景属性
background-size
背景尺寸
background-size:x y
background-size:100% 100%
background-size:cover
比例放大background-size:contain
包含(图片不溢出)多背景
background:url() 0 0,url() 0 100%
;background-origin
背景区域定位border-box
: 从borde
r区域开始显示背景。 padding-box
: 从padding
区域开始显示背景。 content-box
: 从content
内容区域开始显示背background-clip
背景绘制区域border-box
: 从border
区域向外裁剪背景。 padding-box
: 从padding
区域向外裁剪背景。 content-box
: 从content
区域向外裁剪背景。 text
:背景填充文本no-clip
: 从border
区域向外裁剪背景颜色渐变
线性渐变:linear-gradient
(起点/角度,颜色 位置,…,)
left/top/right/bottom/left top......
默认top
0-360
度red 50%
, blue 100%
(红色从50%渐变到100%为蓝色)repeating-linear-gradient
线性渐变重复平铺
IE
低版本渐变(滤镜):filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#ff0000',GradientType='1');
径向渐变:radial-gradient
(起点(圆心位置), 形状/半径/大小,颜色1,颜色2)
left/top/right/bottom
或具体值/百分比ellipse
(椭圆)、circle
(正圆)closest-side
(最近端), closest-corner
最近角), farthest-side
(最远端), farthest-corner
(最远角), contain
(包含) ,cover
(覆盖));CSS颜色属性复习
color name
颜色英文名称命名HEX
方式 十六进制方式rgb
方式 三原色配色方式CSS3新增颜色属性
rgba()
名称 | 颜色 | 颜色 | 取值 |
---|---|---|---|
r | red | 红色 | 0-255 |
g | green | 绿色 | 0-255 |
b | blue | 蓝色 | 0-255 |
a | alpha | 透明 | 0-1 |
HSL
模式 HSLA
模式
H
: Hue
(色调)。 0 - 360
S
:Saturation
(饱和度)。取值为:0.0% - 100.0% L
: Lightness
(亮度)。取值为:0.0% - 100.0%A
: alpha
透明度 0~1之间
语法:HSLA(H,S,L,A)
HSL色轮
透明颜色:transparent
border
实现三角箭头、风车等透明度:
opacity
0-1
之间IE
浏览器不兼容,需用IE浏览器的滤镜实现相同效果,filter:alpha(opacity=50)
-moz-opacity
边框圆角
CSS2
中添加圆角矩形需要技巧。我们必须为每个圆角使用不同的图片CSS3
中,创建圆角是非常容易的CSS3
中,border-radius
属性用于创建圆角border-radius
边框圆角写法
border-radius: 2em 1em 4em / 0.5em 3em;
border-top-left-radius: 2em 0.5em;
border-top-right-radius: 1em 3em;
border-bottom-right-radius: 4em 0.5em;
border-bottom-left-radius: 1em 3em;
box-shadow
方框添加阴影
语法:box-shadow:x-shadow y-shadow blur spread color inset;
box-shadow的API
x-shadow
必需。水平阴影的位置。允许负值。 y-shadow
必需。垂直阴影的位置。允许负值。 blur
可选。模糊距离。 spread
可选。阴影的尺寸。 color
可选。阴影的颜色。请参阅 CSS
颜色值 inset
可选。将外部阴影 (outset
) 改为内部阴影box-shadow:10px 10px 5px 5px #888888;
border-image
语法属性 | 版本 | 简介 |
---|---|---|
border-image | CSS3 | 设置或检索对象的边框使用图像来填充 |
border-image-source | CSS3 | 设置或检索对象的边框是否用图像定义样式或图像来源路径 |
border-image-slice | CSS3 | 设置或检索对象的边框背景图的分割方式 |
border-image-width | CSS3 | 设置或检索对象的边框厚度 |
border-image-outset | CSS3 | 设置或检索对象的边框背景图的扩展 |
border-image-repeat | CSS3 | 设置或检索对象的边框图像的平铺方式 |
- border-image-slice
- 设置或检索对象的边框背景图的分割方式
border-image-repeat
stretch
: 指定用拉伸方式来填充边框背景图。 *默认的repeat
: 指定用平铺方式来填充边框背景图。当图片碰到边界时,如果超过则被截断。 round
: 指定用平铺方式来填充边框背景图。图片会根据边框的尺寸动态调整图片的大小 直至正好可以铺满整个边框。写本文档时仅Firefox能看到该效果 过渡:给改变添加过程
transition
过渡属性
transition: property duration timing-function delay
;
transition-property:
过渡属性的名称 none
没有过渡属性all
所有属性都过渡(默认值)property
具体属性名称(property1
,property2
…)transition-duration:
过渡属性花费的时间 time
秒或毫秒transition-timing-function:
过渡效果速度曲线 time
秒或毫秒transition-delay:
过渡效果延迟时间transition-timing-function
:过渡效果速度曲线
linear
:规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1)
)。ease
:规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1)
)。ease-in
:规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1)
)。ease-out
:规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1)
)。ease-in-out
:规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1)
)。cubic-bezier(n,n,n,n)
:在 cubic-bezier
函数中定义自己的值。可能的值是 0
至 1
之间的数值。Webkit
内核:
obj.addEventListener('webkitTransitionEnd',function(){})
obj.addEventListener('transitionend',function(){})
什么是CSS3
动画?
CSS3
,我们能够创建动画,这可以在许多网页中取代动画图片、Flash
动画以及 JavaScript
动画接口
属性 | 描述 |
---|---|
@keyframes | 规定动画。 |
animation | 所有动画属性的简写属性,除了 animation-play-state 属性。 |
animation-name | 规定 @keyframes 动画的名称。 |
animation-duration | 规定动画完成一个周期所花费的秒或毫秒。 |
animation-timing-function | 规定动画的速度曲线。 |
animation-delay | 规定动画何时开始。 |
animation-iteration-count | 规定动画被播放的次数。 |
animation-direction | 规定动画是否在下一周期逆向地播放。 |
animation-play-state | 规定动画是否正在运行或暂停。 |
animation-fill-mode | 规定对象动画时间之外的状态。 |
- animation-timing-function速度曲线
值 | 描述 |
---|---|
linear | 动画从头到尾的速度是相同的。 |
ease | 默认。动画以低速开始,然后加快,在结束前变慢。 |
ease-in | 动画以低速开始。 |
ease-out | 动画以低速结束。 |
ease-in-out | 动画以低速开始和结束。 |
cubic-bezier(n,n,n,n) | 在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值。 |
- 在谷歌浏览器里面需要加上-webkit-
IE6,7,8,9
不支持css3
运动
拓展阅读
CSS3盒模型阴影
box-shadow:inset x y blur spread color
inset
:投影方式inset
:内投影outset
:外投影 默认(不能设置)x
、y
:阴影偏移blur
:模糊半径(灰度)spread
:扩展阴影半径color
CSS3
盒模型倒影
box-reflect
倒影
above|below|left|right;
CSS3其他盒模型
box-sizing
盒模型解析模式content-box
标准盒模型(和css2
一样的计算)width/height=border+padding+content
border-box
怪异盒模型width/height
与设置的值一样 ,content
减小扩展阅读
Css3
平面转换方法
translate()
移动rotate()
旋转scale()
缩放skew()
翻转matrix()
矩阵transform:
rotate()
旋转函数 (deg) deg
度数skew(X,Y)
倾斜函数 (deg) skewX()
skewY()
scale(X,Y)
缩放函数 (正数、负数和小数) scaleX()
scaleY()
translate(X,Y)
位移函数(px) translateX()
translateY()
rotate()
旋转方法
rotate(30deg)
translate()
位置方法
translate(50px,100px)
scale()
尺寸方法
scale(2,4)
skew()
翻转方法
skew()
方法,元素翻转给定的角度transform: skew(30deg,20deg);
X
轴把元素翻转30
度,围绕 Y
轴翻转 20
度Css3
立体转换
transform-style(preserve-3d)
建立3D
空间Perspective
视角Perspective- origin
视角基点transform-origin
:坐标轴基点transform 新增函数
rotateX()
rotateY()
rotateZ()
translateZ()
scaleZ()
HTML5
支持的格式HTML5
能在完全脱离插件的情况下播放音视频,但是不是所有格式都支持。Ogg=
带有Theora
视频编码+Vorbis
音频编码的Ogg
文件MEPG4=
带有H.264视频编码+AAC
音频编码的MPEG4
文件WebM=
带有VP8
视频编码+Vorbis
音频编码的WebM
格式Video
的使用
< video src="文件地址" controls="controls">
您的浏览器暂不支持video标签。播放视频
video >
< video controls="controls" width="300">
<source src="move.ogg" type="video/ogg" >
<source src="move.mp4" type="video/mp4" >
您的浏览器暂不支持video标签。播放视频
video >
Video
的常见属性属性 | 值 | 描述 |
---|---|---|
Autoplay | Autoplay | 视频就绪自动播放 |
controls | controls | 向用户显示播放控件 |
Width | Pixels(像素) | 设置播放器宽度 |
Height | Pixels(像素) | 设置播放器高度 |
Loop | Loop | 播放完是否继续播放该视频,循环播放 |
Preload | load{auto,meta,none} | 规定是否预加载视频。 |
Src | url | 视频url地址 |
Poster | Imgurl | 加载等待的画面图片 |
Autobuffer | Autobuffer | 设置为浏览器缓冲方式,不设置autoply才有效 |
- Video
的API
方法
方法 | 属性 | 事件 |
---|---|---|
play() | currentSrc | play |
pause() | currentTime | pause |
load() | videoWidth | progress |
canPlayType() | videoHeight | error |
canvas
的浏览器可以看到的内容 绘制环境
getContext("2d")
;目前支持2d
的场景绘制矩形
rect(L,T,W,H)
:创建一个矩形fillRect(L,T,W,H)
:绘制填充的矩形strokeRect(L,T,W,H)
绘制矩形(无填充)fillStyle
:填充颜色(绘制canvas
是有顺序的)lineWidth
:线宽度,笔迹粗细strokeStyle
:边线颜色绘制路径
stroke
:绘制,划线(黑色默认)fill
:填充(黑色默认)rect(矩形区域)
clearRect
擦除一个矩形区域save
进入到XXX(高逼格)状态restore
退出xxx(高逼格)状态绘制圆形
arc(x,y,半径,起始弧度,结束弧度,旋转方向)
x
,y
起始位置弧度=角度 x π / 180
false
),逆时针(true
)font
:设置字体大小fillText
:填充字体strokeText
:绘制字体svg是什么
canvas
的区别svg的引入方式
方式一:
<svg xmlns="http://www.w3.org/2000/svg">svg>
方式三:
html
页面中添加svg
circle
:圆形
cx
,cy
r
fill
stroke
stroke-width
stlye
样式 fill = "none/transparent"
cx
属性定义的椭圆中心的x坐标cy
属性定义的椭圆中心的y坐标rx
属性定义的水平半径ry
属性定义的垂直半径width
height
宽高 x
,y
rx
,ry
line
:线条
x1
,y1
,x2
,y2
stroke-opacity
透明 fill-opacity
polyline:折线
points
:点坐标(x1 y1 x2 y2...
)或(x1,y1,x2,y2....
) fill-rule:evenodd/nonzero
;path: 路劲
d
属性M(起始坐标)
,L(结束坐标)
,H(水平线)
,V(垂直线)
,A(圆弧)
,Z(闭合路劲)
C
,S
,Q
,T
贝塞尔曲线x
半径 y
半径 角度 弧长(0 小弧 1大弧) 方向(0逆时针 1顺时针)(x y)
C命令:三次贝塞尔曲线
(x1,y1,x2,y2,x,y)
x1
,y1
控制点一 x2
,y2
控制点二 x
,y
结束点(x2,y2,x,y)
x2
,y2
控制点 x,y结束点(x1,y1,x,y)
x1,y1控制点 x,y结束点T命令:一次贝塞尔曲线
(x,y)
结束点g
标签:组合元素 设置元素公共属性
transform = "translate(0,0)"
text
标签
x
, y
, text-anchor
(对齐start end middle) font-size
image
标签
x
, y
, width
height
xlink:href
(图片地址)纬度 : 东西连接的线
位置信息从何而来
IP
地址GPS
全球定位系统Wi-Fi
无线网络avigator.geolocation
getCurrentPosition
(请求成功,请求失败,数据收集方式)coords.longitude
coords.latitude
coords.accuracy
coords.altitude
coords.altitudeAcuracy
coords.heading
coords.speed
请求的时间: new Date(position.timestamp)
请求失败函数
code
timeout
值,获取位置超时了数据收集 : json的形式
enableHighAcuracy
: 更精确的查找,默认false
timeout
: 获取位置允许最长时间,默认infinity
maximumAge
: 位置可以缓存的最大时间,默认0
多次定位请求* : watchPosition
frequency
更新的频率clearWatch
百度地图API