1.  新增表单类型:
 email(电子邮件地址输入框)

代码示例:   <input type=“email” />   输入内容中必须包含@,并且@后需要有内容

url(网址输入框)
代码示例: <input type="url" />   输入的网址要加上协议前缀;如http://、https:// 等

number(数值输入框)
代码示例: <input type="number" value="11.5" />   只能输入数值相关字符,如数字、.(小数点)、-(负号)等。

range(滑动条)
代码示例: <input type=“range” /> 默认区间是0~100,可以通过max min 属性设定滑动范围

date(日期控件)
代码示例: <input type=“date” value=“2018-04-21”  /> value {string} :设置或获取日期控件的值,值的格式要为:"yyyy-MM-dd"。

month(年月控件)
代码示例: <input type=“month” value=“2018-04” /> value {string} :设置或获取控件的值,值的格式要为:"yyyy-MM"。

week(周数控件)
代码示例: <input type=“week” value=“2018-W04” /> value {string} :设置或获取周数控件的值,值的格式要为:"yyyy-Www"。(格式中的W字符不能省略,并且ww周数要为2位数)

time(时间控件)
代码示例: <input type="time" value="12:30" /> value {string} :设置或获取时间控件的值,值的格式要为:"HH:mm",、"HH:mm:ss" 或 "HH:mm:ss.SSS"。

datetime(时间日期控件)
代码示例: <input type=“datetime-local” value=“2018-04-21T15:30:29”/> value {string} :设置或获取时间控件的值,值的格式要为:YYYY-MM-DDTHH:mm:ss(格式中的T字符不能省略)

search(搜索框)
代码示例: <input type=“search” />

color(颜色控件)
代码示例: <input type=“color” value=“#D00000”/> value {string} :设置或获取颜色控件的值,值的格式要为:"#rrggbb"。

2.  新增表单属性
novalidate  规定当提交表单时不对其进行验证。
适用标签:      novalidate 属性适用于 <form> 以及以下类型的 <input> 标签:text, search, url, telephone, email, password, date pickers, range 以及 color

autocomplete  规定输入字段是否应该启用自动完成功能。
值:     on :默认。规定启用自动完成功能。     off :规定禁用自动完成功能。
适用标签:     autocomplete 属性适用于 <form>,以及下面的 <input> 类型:text, search, url, telephone, email, password, datepickers, range 以及 color  

autofocus  属性规定当页面加载时 ,input 元素应该自动获得焦点。

form override attributes    允许重写 form 元素的某些属性设定
适用类型: 表单重写属性适用于以下类型的 <input> 标签:submit 和 image
formaction    重写表单的 action 属性
formenctype    重写表单的 enctype 属性
formmethod    重写表单的 method 属性
formnovalidate    重写表单的 novalidate 属性
formtarget    重写表单的 target 属性

height/width   规定 <input> 元素的宽度和高度。
适用类型:     只适用于 <input type=“image”> 当页面加载时会为图片预留需要的空间。而如果没有这些属性,则浏览器就无法了解图像的尺寸,也就无法为其预留合适的空间。情况是当页面和图片加载时,页面布局会发生变化

list     list 属性引用 <datalist> 元素,其中包含 <input> 元素的预定义选项。
示例:     <input list=“datalist_id”>     规定绑定到 <input> 元素的 datalist 的 id

min/max    max 属性规定 <input> 元素的最大值。 min 属性规定 <input> 元素的最小值。 min 属性与 max 属性配合使用,可创建合法值范围。
适用标签:      max 和 min 属性适用于以下 input 类型:number、range、date、datetime、datetime-local、month、time 和 week。

step   step 属性规定 <input> 元素的合法数字间隔。
适用标签:      step 属性适用于下面的 input 类型:number、range、date、datetime、datetime-local、month、time 和 week。

multiple   multiple 属性规定输入字段可选择多个值。
适用标签:      multiple 属性适用于以下 input 类型:email 和 file
注: email 输入多个值时,需要用逗号隔开

pattern (regexp)   pattern 属性规定用于验证 <input> 元素的值的正则表达式。
适用标签:     pattern 属性适用于下面的 input 类型:text、search、url、tel、email 和 password

placeholder   placeholder 属性提供可描述输入字段预期值的提示信息
适用标签:     placeholder 属性适用于下面的 input 类型:text、search、url、tel、email 和 password

required    required 属性规定必需在提交之前填写输入字段。
适用标签:      required 属性适用于以下 <input> 类型:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file。

3.新增样式
rgba(颜色) RGBA 颜色值是 RGB 颜色值的扩展,带有一个 alpha 通道 – 它规定了对象的不透明度,且透明不不会影响子标签
语法:      rgba(red, green, blue, alpha)。
     alpha 参数是介于 0.0(完全透明)与 1.0(完全不透明)的数字

text-shadow(文字阴影)    text-shadow 可向文本应用阴影,规定水平阴影、垂直阴影、模糊距离,以及阴影的颜色
语法:      text-shadow: h-shadow v-shadow blur color;
     h-shadow:必需。水平阴影的位置。允许负值。      v-shadow:必需。垂直阴影的位置。允许负值。      blur  :可选。模糊的距离。      color:可选。阴影的颜色    
text-shadow: 5px 5px 10px pink, 0 0 15px deeppink,0 0 20px lightcora;

text-stroke(文字描边) 设置或检索对象中的文字的描边。
语法:      text-stroke: text-stroke-width   text-stroke-color 
     text-stroke-width 设置或检索对象中的文字的描边厚度      text-stroke-color 设置或检索对象中的文字的描边颜色

direction    属性规定文本的方向 / 书写方向
语法:      direction:rtl/ltr      ltr:默认。文本方向从左到右。      rtl:文本方向从右到左   

border-radius(圆角)   为元素添加圆角边框

box-shadow(边框阴影)  box-shadow 属性向框添加一个或多个阴影
语法:     box-shadow: h-shadow v-shadow blur spread color inset;
    h-shadow:必需。水平阴影的位置。允许负值。     v-shadow:必需。垂直阴影的位置。允许负值。     spread:可选。阴影的尺寸。         blur :可选。模糊的距离。         color:可选。阴影的颜色     inset:可选。将外部阴影 (outset) 改为内部阴影。   

border-image(图片)  box-image 属性向框添加图片
语法:     border-image: source slice width outset repeat;
    source:用于指定要用于绘制边框的图像的位置     slice :图像边界向内偏移     width:图像边界的宽度         outset:边框图像区域超出边框的量。    repeat:图像边框是否应平铺(repeated)、铺满(rounded)或拉伸(stretched)。            

4.  为什么使用 font-face ?
    在 CSS3 之前,web 设计师必须使用已在用户计算机上安装好的字体。     通过 CSS3,web 设计师可以使用他们喜欢的任意字体。 当找到或购买到希望使用的字体时,可将该字体文件存放到 web 服务器上,它会在需要时被自动下载到用户的计算机上。     “自己的”的字体是在 CSS3 @font-face 规则中定义的。

浏览器支持情况:      Firefox、Chrome、Safari 以及 Opera 支持 .ttf (True Type Fonts) 和 .otf (OpenType Fonts) 类型的字体。     Internet Explorer 9+ 支持新的 @font-face 规则,但是仅支持 .eot 类型的字体 (Embedded OpenType)。

使用:步骤一:将字体文件存放到工程目录中     步骤二: 在新的 @font-face 规则中,您必须首先定义字体的名称(比如     myFirstFont),然后指向该字体文件  如需为 HTML 元素使用字体,请通过 font-family 属性来    引用字体的名称 (myFirstFont):

5.  background(背景)
background-size(背景图像的尺寸)    规定背景图像的尺寸
语法:     background-size: length|percentage|cover|contain;
length:设置背景图像的高度和宽度。第一个值设置宽度,第二个值设置高度。
示例: background-size: 100px 100px;
percentage:以父元素的百分比来设置背景图像的宽度和高度。  第一个值设置宽度,第二个值设置高度。 示例: background-size: 50% 100%;
cover:把背景图像扩展至足够大,以使背景图像完全覆盖背景区域。背景图像的某些部分也许无法显示在背景定位区域中。 示例: background-size: cover;
contain:把图像图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域。 示例: background-size: contain;     

background-origin     规定 background-position 属性相对于什么位置来定位
语法:     background-origin: padding-box|border-box|content-box;
padding-box:背景图像相对于内边距框来定位。border-box   :背景图像相对于边框盒来定位。content-box  : 背景图像相对于内容框来定位。

6.    mask(图片蒙版)
background : url("images/logo.png") no-repeat;   -webkit-mask : url("images/mask.png");

H5 新特性-编程知识网

background : url("images/logo.png") no-repeat;  -webkit-mask : -webkit-gradient(linear, left top, right bottom, from(rgba(0,0,0,1)), to(rgba(0,0,0,0)));

H5 新特性-编程知识网

7.  box-reflect(倒影)
box-reflect(倒影)   设置或检索对象倒影。
语法:     box-reflect:none | <direction> <offset>? <mask-box-image>?
none    无倒影
direction    above:指定倒影在对象的上边
below:指定倒影在对象的下边z
left:指定倒影在对象的左边
right:指定倒影在对象的右边
offset(可选)    <length>:用长度值来定义倒影与对象之间的间隔。可以为负值
<percentage>:用百分比来定义倒影与对象之间的间隔。可以为负值
<mask-box-image>    none:无遮罩图像
<url>:使用绝对或相对地址指定遮罩图像
<linear-gradient>:使用线性渐变创建遮罩图像。
<radial-gradient>:使用径向(放射性)渐变创建遮罩图像。
总结:倒影是设置或检索对象倒影。 如果给块标签设置倒影 使用浮动或者inline-block;倒影不占文本流

8.   filter(滤镜)
只支持webkit内核浏览器,不支持IE ;描述:定义了元素(通常是<img>)的可视效果 ;

filter相关函数 ——  grayscale(%)   
将图像转换为灰度图像。值定义转换的比例。值为100%则完全转为灰度图像,值为0%图像无变化
-webkit-filter:grayscale(100%);

 sepia(%)    
将图像转换为深褐色。值定义转换的比例。值为100%则完全是深褐色的,值为0%图像无变化。值在0%到100%之间
-webkit-filter:sepia(100%);

saturate(%)
转换图像饱和度。值定义转换的比例。值为0%则是完全不饱和,值为100%则图像无变化。其他值,则是效果的线性乘子。超过100%的值是允许的,则有更高的饱和度。 若值未设置,值默认是1
-webkit-filter:saturate(20%);

hue-rotate(deg)    
给图像应用色相旋转。"angle"一值设定图像会被调整的色环角度值。值为0deg,则图像无变化。若值未设置,默认值是0deg。该值虽然没有最大值,超过360deg的值相当于又绕一圈。
-webkit-filter:hue-rotate(90deg);

invert(%)    
反转输入图像。值定义转换的比例。100%的价值是完全反转。值为0%则图像无变化。值在0%和100%之间,则是效果的线性乘子。 若值未设置,值默认是0。
 -webkit-filter:invert(1);

opacity(%)    
转化图像的透明程度。值定义转换的比例。值为0%则是完全透明,值为100%则图像无变化。值在0%和100%之间,则是效果的线性乘子,也相当于图像样本乘以数量。 若值未设置,值默认是1。该函数与已有的opacity属性很相似,不同之处在于通过filter,一些浏览器为了提升性能会提供硬件加速。
 -webkit-filter:opacity(0.5);

brightness(%)
给图片应用一种线性乘法,使其看起来更亮或更暗。如果值是0%,图像会全黑。值是100%,则图像无变化。其他的值对应线性乘数效果。值超过100%也是可以的,图像会比原来更亮。如果没有设定值,默认是1。
-webkit-filter:brightness(50%);

contrast(%)
调整图像的对比度。值是0%的话,图像会全黑。值是100%,图像不变。值可以超过100%,意味着会运用更低的对比。若没有设置值,默认是1。
-webkit-filter:contrast(2);

blur(px)    
给图像设置高斯模糊。“radius”一值设定高斯函数的标准差,或者是屏幕上以多少像素融在一起, 所以值越大越模糊; 如果没有设定值,则默认是0;这个参数可设置css长度值,但不接受百分比值。
-webkit-filter:blur(3px);

9.   transition(过渡)

transition-property
规定应用过渡效果的 CSS 属性的名称。(当指定的 CSS 属性改变时,过渡效果将开始)
语法:     transition-property: none | all |  property;
none    没有属性会获得过渡效果。
all    所有属性都将获得过渡效果
property    定义应用过渡效果的 CSS 属性名称列表,列表以逗号分隔。

transition-duration
属性规定完成过渡效果需要花费的时间(以秒或毫秒计)
语法:     transition-duration: time
值:     time:规定完成过渡效果需要花费的时间(以秒或毫秒计)。默认值是 0,意味着不会有效果。 示例:     transition-duration: 2s;

transition-timing-function
属性规定过渡效果的速度曲线     该属性允许过渡效果随着时间来改变其速度。
语法:     transition-timing-function: linear | ease | ease-in | ease-out |  ease-in-out | cubic-bezier(n,n,n,n);
linear        规定以相同速度开始至结束的过渡效果,匀速
ease        规定慢速开始,然后变快,然后慢速结束的过渡效果
ease-in    规定以慢速开始的过渡效果
ease-out    规定以慢速结束的过渡效果
ease-in-out    规定以慢速开始和结束的过渡效果等于
cubic-bezier(n,n,n,n)    在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。

10.   transform
2D变换 — translate平移
transform:translate(x,y)     水平方向和垂直方向同时移动(也就是X轴和Y轴同时移动)
transform:translate(100px,20px):
transform:translateX(n)     仅水平方向移动(X轴移动)
transform:translateY(n)     仅垂直方向移动(Y轴移动)

2D变换 — scale缩放
transform:scale(x,y)     使元素水平方向和垂直方向同时缩放(也就是X轴和Y轴同时缩放)
transform:scale(2,1.5)
transform:scaleX(x)     元素仅水平方向缩放(X轴缩放)
transform: scaleY(y)     仅垂直方向缩放(Y轴缩放)

2D变换 — skew倾斜
transform: skew(x,y)     使元素在水平和垂直方向同时扭曲(X轴和Y轴同时按一定的角度值进行扭曲变形)
transform:skew(30deg,10deg):
transform: skewX(x)     仅使元素在水平方向扭曲变形(X轴扭曲变形)
transform: skewY(y)     仅使元素在垂直方向扭曲变形(Y轴扭曲变形)

2D变换 —rotate旋转
transform: rotate(<angle>)     angle是指旋转角度,如果设置的值为正数表示顺时针旋转,如果设置的值为负数,则表示逆时针旋
transform:rotate(30deg):

11.基准点 —— transform-origin

浏览器支持情况: Internet Explorer 10、Firefox、Opera 支持 transform-origin 属性。 Internet Explorer 9 支持替代的 -ms-transform-origin 属性(仅适用于 2D 转换)。 Safari 和 Chrome 支持替代的 -webkit-transform-origin 属性(3D 和 2D 转换)。 Opera 只支持 2D 转换。
在进行transform动作之前可以改变元素的基点位置
语法:      transform-origin: x-axis y-axis z-axis;
x-axis     运动基点在X轴的位置    left/center/right/length/%
y-axis     运动基点在Y轴的位置    left/center/right/length/%
z-axis(3D)    运动基点在Z轴的位置    length
当不设置旋转基点时默认是center center

3D变换 — 创建3D空间
给需要3D效果元素的父级添加 需在外⾯嵌套⼀层,将建⽴3D空间的代码放在外层,即transformstyle:preserve-3d; 然后再进⾏3D变换。这样做的理由是,让他的所有⼦元素都处在3D空间中。
示例: transform-style: preserve-3d;
-webkit-transform-style: preserve-3d;  -moz-transform-style: preserve-3d; -ms-transform-style: preserve-3d;     -o-transform-style: preserve-3d;

3D变换 — perspective(景深)
1.perspective 属性定义 3D 元素距视图的距离,以像素计。
2.当为元素定义 perspective 属性时,其子元素会获得透视效果,而不是元素本身。 注:perspective 属性只影响 3D 转换元素
3.perspective 属性指定了观察者与z=0平面的距离,使具有三维位置变换的元素产生透视效果。z>0的三维元素比正常大,而z<0时则比正常小,大小程度由该属性的值决定。

3D变换 — backface-visibility
backface-visibility 属性定义当元素不面向屏幕时是否可见。 如果在旋转元素不希望看到其背面时,该属性很有用。
语法:     backface-visibility: visible | hidden;
    visible:背面是可见的。     hidden: 背面不可见
平移    transform:translate3d(x,y,z)    3D 转化x,y,z为x,y,z轴平移的值
transform:translateZ(z)        定义 3D 转换,用 Z 轴的    
缩放    transform:scale3d(x,y,z)        定义 3D 缩放转换
transform:scaleZ(z)        设置 Z 轴的值定义 3D 缩放
旋转    transform:rotate3d(x,y,z,angle)    定义 3D 旋转。    
transform:rotateZ(angle)        定义沿 Z 轴的 3D 旋转。

12.动画
关键帧 — keyframes
概述:     通过 @keyframes 规则,能够创建动画。     创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式。     在动画过程中,能够多次改变这套 CSS 样式。     以百分比来规定改变发生的时间,或者通过关键词 "from" 和 "to",等价于 0% 和 100%。     0% 是动画的开始时间,100% 动画的结束时间。     为了获得最佳的浏览器支持,应该始终定义 0% 和 100% 选择器。
语法:     @keyframes animationname {keyframes-selector {css-styles;}}
animationname      :必需。定义动画的名称。 keyframes-selector :必需。动画时长的百分比。 合法的值: 0-100%   from(与 0% 相同) to(与 100% 相同) css-styles:必需。一个或多个合法的 CSS 样式属性。

animation-name 属性为 @keyframes 动画规定名称。 语法:     animation-name: keyframename | none;

animation-duration  定义动画完成一个周期所需要的时间,以秒或毫秒计。
语法:     animation-duration: time; 值:     time:规定完成动画所花费的时间。默认值是 0,意味着没有动画效果。

animation-timing-function  规定动画的速度曲线。
语法:     animation-timing-function:  linear | ease | ease-in | ease-out |  ease-in-out | cubic-bezier(n,n,n,n);
linear        规定以相同速度开始至结束的过渡效果,匀速
ease        规定慢速开始,然后变快,然后慢速结束的过渡效果
ease-in    规定以慢速开始的过渡效果
ease-out    规定以慢速结束的过渡效果
ease-in-out    规定以慢速开始和结束的过渡效果等于
cubic-bezier(n,n,n,n)    在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。

animation-iteration-count  定义动画的播放次数。
语法:      animation-iteration-count: n | infinite;

animation-direction    属性定义是否应该轮流反向播放动画。
语法:      animation-direction: normal | alternate | reverse ;
normal        默认值。动画应该正常播放。
alternate        动画应该轮流反向播放。
reverse    反向运动

animation-play-state   属性规定动画正在运行还是暂停。
语法:      animation-play-state: paused | running;

animation-fill-mode   规定动画结束停留位置
语法:      animation-fill-mode : none | forwards | backwards;
none    不改变默认行为。
forwards    当动画完成后,保持最后一个属性值(在最后一个关键帧中定义)。
backwards    在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义)。