HTML5和CSS3新性子一览

HTML5

1.HTML5 新元素

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>

规定在文本中的何处适合添加换行符。

2.HTML5 Canvas

HTML5 <canvas> 成分用于图形的绘图,通过脚本
(常常是JavaScript)来完结.

<canvas> 标签只是图形容器,您必须利用脚本来绘制图形。

<canvas>简单实例如下:<canvas id="myCanvas" width="200" height="100"></canvas>

使用
JavaScript 来绘制图像

canvas
成分本人是从未绘图能力的。全部的绘图工作必须在 JavaScript
内部形成:

<script>var c=document.getElementById("myCanvas");var ctx=c.getContext("2d");ctx.fillStyle="#FF0000";ctx.fillRect(0,0,150,75);</script> 
3.HTML5 拖放

 

拖放是一种普遍的天性,即抓取对象今后拖到另多个地方。在 HTML5中,拖放是正规的一局地,任何因素都能够拖放。

安装成分为可拖放

先是,为了使成分可拖动,把 draggable
属性设置为 true :

<img draggable="true">

拖动什么 – ondragstart 和 setData()


嵌入何地 – ondragover


展开停放 – ondrop

4.HTML5 地理定位

 

HTML5
Geolocation API 用于获取用户的地理地方。

是因为该本性恐怕侵略用户的隐秘,除非用户同意,否则用户地点音讯是不可用的。

<script>var x=document.getElementById("demo");function getLocation()  {  if (navigator.geolocation)    {    navigator.geolocation.getCurrentPosition(showPosition);    }  else{x.innerHTML="该浏览器不支持获取地理位置。";}  }function showPosition(position)  {  x.innerHTML="Latitude: " + position.coords.latitude +   "<br>Longitude: " + position.coords.longitude;   }</script>
5.HTML5  Audio(音频)、Video(视频)

 

HTML5
规定了在网页上安放音频成分的规范,即利用 <audio>
元素。

<audio controls>  <source src="horse.ogg" type="audio/ogg">  <source src="horse.mp3" type="audio/mpeg">您的浏览器不支持 audio 元素。</audio>

 

HTML5
规定了一种通过 video 成分来含有录像的科班措施。

<video width="320" height="240" controls>  <source src="movie.mp4" type="video/mp4">  <source src="movie.ogg" type="video/ogg">您的浏览器不支持Video标签。</video>
6.HTML5 Input 类型

 

HTML5
拥有多少个新的表单输入类型。这一个新特征提供了更好的输入控制和验证。

  • color、date、datetime、datetime-local、email、month、number、range、search、tel、time、url、week
<input type="range" name="points" min="1" max="10">Search Google: <input type="search" name="googlesearch">电话号码: <input type="tel" name="usrtel">

 

7.HTML5 表单成分

 

HTML5
有以下新的表单元素:

标签 描述
<datalist> <input>标签定义选项列表。请与 input 元素配合使用该元素,来定义 input 可能的值。
<keygen> ><keygen> 标签规定用于表单的密钥对生成器字段。
<output> <output> 标签定义不同类型的输出,比如脚本的输出。

 

<datalist>
成分规定输入域的选项列表。

<datalist> 属性规定 form 或 input
域应该负有电动完结功用。当用户在活动实现域中开首输入时,浏览器应该在该域中展现填写的选项:

使用
<input> 成分的列表属性与 <datalist> 元素绑定.

<input list="browsers"><datalist id="browsers">  <option value="Internet Explorer">  <option value="Firefox">  <option value="Chrome">  <option value="Opera">  <option value="Safari"></datalist>

 

8.HTML5 表单属性

 

HTML5 的
<form> 和 <input>标签添加了多少个新属性.

<form>新属性:

  • autocomplete、novalidate

<input>新属性:

  • autocomplete、autofocus、form、formaction、formenctype、formmethod、formnovalidate、formtarget、height
    and width、list、min and
    max、multiple、pattern
    (regexp)、placeholder、required、step

 

9.HTML5 语义成分

 


 

HTML5提供了新的语义成分来明显二个Web页面包车型客车不一样部分:

  • <header>
  • <nav>
  • <section>
  • <article>
  • <aside>
  • <figcaption>
  • <figure>
  • <footer>

必发bifa88手机客服端 1

10.HTML5 Web 存储

 Web
Storage DOM API
为Web应用提供了三个力所能及替代cookie的Javascript化解方案

  • sessionStorage—客户端数据存款和储蓄,只可以维持在眼下对话范围内。

           
 sessionStorage 方法针对1个 session
举办数据存款和储蓄。当用户关闭浏览器窗口后,数据会被去除。

  • localStorage—客户端数据存款和储蓄,能保证在五个会话范围内。

           
 localStorage
对象存款和储蓄的数码尚丑时间限定。第1天、第③周或下一年过后,数据依然可用。

对此大气错综复杂数据结构,一般选择IndexDB


 

11.HTML5 离线Web应用(应用程序缓存)

 

HTML5
引入了应用程序缓存,那代表 web
应用可开始展览缓存,并可在一直不因特网连接时举办访问。

应用程序缓存为使用带来多个优势:

  1. 离线浏览 –
    用户可在行使离线时使用它们
  2. 进度 – 已缓存财富加载得更快
  3. 缩减服务器负载 –
    浏览器将只从服务器下载更新过或转移过的财富。

HTML5
Cache Manifest 实例

上边包车型大巴例证呈现了涵盖 cache manifest 的 HTML
文档(供离线浏览):

<!DOCTYPE HTML><html manifest="demo.appcache"><body>The content of the document......</body></html>

Manifest 文件

manifest
文件是简不难单的文书文件,它告诉浏览器被缓存的内容(以及不缓存的情节)。

manifest 文件可分为四个部分:

  • CACHE MANIFEST –
    在此标题下列出的文件将在第一遍下载后举行缓存
  • NETWORK –
    在此标题下列出的公文须要与服务器的总是,且不会被缓存
  • FALLBACK –
    在此标题下列出的公文分明当页面不可能访问时的回退页面(比如 404
    页面

    CACHE MANIFEST# 2012-02-21 v1.0.0/theme.css/logo.gif/main.jsNETWORK:login.phpFALLBACK:/html/ /offline.html
    
12.HTML5 Web Workers

 


 

当在 HTML
页面中实践脚本时,页面包车型地铁景况是不可响应的,直到脚本已成功。

web
worker 是运维在后台的
JavaScript,独立于任何脚本,不会潜移默化页面包车型客车习性。您能够一而再做其余愿意做的工作:点击、采用内容等等,而此刻
web worker 在后台运维。(相当于完成多线程并发)


 

13.HTML5 SSE

 

Server-Sent
事件指的是网页自动得到来自服务器的更新。

以前也恐怕达成那一点,前提是网页不得不垂询是或不是有可用的翻新。通过服务器发送事件,更新能够自行抵达。

事例:Instagram/脸书更新、估价更新、新的博文、赛事结果等。

伊夫ntSource
对象用于吸收接纳服务器发送事件通报:

var source=new EventSource("demo_sse.php");source.onmessage=function(event){    document.getElementById("result").innerHTML+=event.data + "<br>";};

为了让地方的事例能够运作,您还要求能够发送数据更新的服务器(比如
PHP 和 ASP)。

<?php header('Content-Type: text/event-stream'); header('Cache-Control: no-cache'); $time = date('r'); echo "data: The server time is: {$time}nn"; flush(); ?>

 

14.HTML5 WebSocket

 

WebSocket是HTML5开端提供的一种在单个 TCP
连接上进行全双工通信的合计。在WebSocket
API中,浏览器和服务器只要求做一个抓手的动作,然后,浏览器和服务器之间就形成了一条飞快通道。两者之间就平昔能够数据交互传送。浏览器通过
JavaScript 向服务器发出建立 WebSocket
连接的请求,连接建立之后,客户端和劳务器端就足以经过 TCP
连接直接交流数据。当你获取 Web
Socket 连接后,你能够因此 send() 方法来向服务器发送数据,并由此 onmessage 事件来收取服务器再次回到的数量。以下 API
用于创设 WebSocket 对象。

CSS3

CSS3选择器
选择器 示例 示例说明 CSS
.class .intro 选择所有class="intro"的元素 1
#id #firstname 选择所有id="firstname"的元素 1
* * 选择所有元素 2
element p 选择所有<p>元素 1
element,element div,p 选择所有<div>元素和<p>元素 1
element element div p 选择<div>元素内的所有<p>元素 1
element>element div>p 选择所有父级是 <div> 元素的 <p> 元素 2
element+element div+p 选择所有紧接着<div>元素之后的<p>元素 2
[attribute] [target] 选择所有带有target属性元素 2
[attribute=value] [target=-blank] 选择所有使用target="-blank"的元素 2
[attribute~=value] [title~=flower] 选择标题属性包含单词"flower"的所有元素 2
[attribute|=language] [lang|=en] 选择一个lang属性的起始值="EN"的所有元素 2
:link a:link 选择所有未访问链接 1
:visited a:visited 选择所有访问过的链接 1
:active a:active 选择活动链接 1
:hover a:hover 选择鼠标在链接上面时 1
:focus input:focus 选择具有焦点的输入元素 2
:first-letter p:first-letter 选择每一个<P>元素的第一个字母 1
:first-line p:first-line 选择每一个<P>元素的第一行 1
:first-child p:first-child 指定只有当<p>元素是其父级的第一个子级的样式。 2
:before p:before 在每个<p>元素之前插入内容 2
:after p:after 在每个<p>元素之后插入内容 2
:lang(language) p:lang(it) 选择一个lang属性的起始值="it"的所有<p>元素 2
element1~element2 p~ul 选择p元素之后的每一个ul元素 3
[attribute^=value] a[src^="https"] 选择每一个src属性的值以"https"开头的元素 3
[attribute$=value] a[src$=".pdf"] 选择每一个src属性的值以".pdf"结尾的元素 3
[attribute*=value] a[src*="44lan"] 选择每一个src属性的值包含子字符串"44lan"的元素 3
:first-of-type p:first-of-type 选择每个p元素是其父级的第一个p元素 3
:last-of-type p:last-of-type 选择每个p元素是其父级的最后一个p元素 3
:only-of-type p:only-of-type 选择每个p元素是其父级的唯一p元素 3
:only-child p:only-child 选择每个p元素是其父级的唯一子元素 3
:nth-child(n) p:nth-child(2) 选择每个p元素是其父级的第二个子元素 3
:nth-last-child(n) p:nth-last-child(2) 选择每个p元素的是其父级的第二个子元素,从最后一个子项计数 3
:nth-of-type(n) p:nth-of-type(2) 选择每个p元素是其父级的第二个p元素 3
:nth-last-of-type(n) p:nth-last-of-type(2) 选择每个p元素的是其父级的第二个p元素,从最后一个子项计数 3
:last-child p:last-child 选择每个p元素是其父级的最后一个子级。 3
:root :root 选择文档的根元素 3
:empty p:empty 选择每个没有任何子级的p元素(包括文本节点) 3
:target #news:target 选择当前活动的#news元素(包含该锚名称的点击的URL) 3
:enabled input:enabled 选择每一个已启用的输入元素 3
:disabled input:disabled 选择每一个禁用的输入元素 3
:checked input:checked 选择每个选中的输入元素 3
:not(selector) :not(p) 选择每个并非p元素的元素 3
::selection ::selection 匹配元素中被用户选中或处于高亮状态的部分 3
:out-of-range :out-of-range 匹配值在指定区间之外的input元素 3
:in-range :in-range 匹配值在指定区间之内的input元素 3
:read-write :read-write 用于匹配可读及可写的元素 3
:read-only :read-only 用于匹配设置 "readonly"(只读) 属性的元素 3
:optional :optional 用于匹配可选的输入元素 3
:required :required 用于匹配设置了 "required" 属性的元素 3
:valid :valid 用于匹配输入值为合法的元素 3
:invalid :invalid 用于匹配输入值为非法的元素

 

CSS3 边框(Borders)

 

用CSS3,你能够创制圆角边框,添加阴影框,并作为边界的形象而不使用布置程序

属性 说明 CSS
border-image 设置所有边框图像的速记属性。 3
border-radius 一个用于设置所有四个边框- *-半径属性的速记属性 3
box-shadow 附加一个或多个下拉框的阴影 3
div{  border:2px solid;  border-radius:25px;  box-shadow: 10px 10px 5px #888888;  border-image:url(border.png) 30 30 round;}
CSS3 背景

 

CSS3中隐含几个新的背景属性,提供更大背景成分控制。

顺序 描述 CSS
background-clip 规定背景的绘制区域。 3
background-origin 规定背景图片的定位区域。 3
background-size 规定背景图片的尺寸。 3
div{  background:url(img_flwr.gif);  background-repeat:no-repeat;  background-size:100% 100%;  background-origin:content-box;}

多背景

body{   background-image:url(img_flwr.gif),url(img_tree.gif);}
CSS3 渐变

CSS3
定义了三种档次的渐变(gradients):

  • 线性渐变(Linear Gradients)-
    向下/向上/向左/向右/对角方向
  • background: linear-gradient(direction, color-stop1, color-stop2, ...);
    
  • 通往渐变(Radial Gradients)-
    由它们的主导概念
  • background: radial-gradient(center, shape size, start-color, ..., last-color);
    
CSS3 文本效果

 

属性 描述 CSS
hanging-punctuation 规定标点字符是否位于线框之外。 3
punctuation-trim 规定是否对标点字符进行修剪。 3
text-align-last 设置如何对齐最后一行或紧挨着强制换行符之前的行。 3
text-emphasis 向元素的文本应用重点标记以及重点标记的前景色。 3
text-justify 规定当 text-align 设置为 "justify" 时所使用的对齐方法。 3
text-outline 规定文本的轮廓。 3
text-overflow 规定当文本溢出包含元素时发生的事情。 3
text-shadow 向文本添加阴影。 3
text-wrap 规定文本的换行规则。 3
word-break 规定非中日韩文本的换行规则。 3
word-wrap 允许对长的不可分割的单词进行分割并换行到下一行。 3

 

CSS3 字体

 

在此以前CSS3的版本,网页设计师不得不选用用户电脑莺时经安装的书体。使用CSS3,网页设计师能够应用他/她爱好的任何字体。当你发觉你要使用的书体文件时,只需简单的将字体文件包罗在网站中,它会自行下载给需求的用户。您所挑选的字体在新的CSS3版本有关于@font-face规则描述。您”自个儿的”的书体是在 CSS3 @font-face
规则中定义的。

<style> @font-face{ font-family: myFirstFont; src: url(sansation_light.woff);}div{ font-family:myFirstFont;}</style>
CSS3 转换和变形

 

2D新转换属性

以下列出了独具的转换属性:

Property 描述 CSS
transform 适用于2D或3D转换的元素 3
transform-origin 允许您更改转化元素位置

2D
转换方法

函数 描述
matrix(n,n,n,n,n,n) 定义 2D 转换,使用六个值的矩阵。
translate(x,y) 定义 2D 转换,沿着 X 和 Y 轴移动元素。
translateX(n) 定义 2D 转换,沿着 X 轴移动元素。
translateY(n) 定义 2D 转换,沿着 Y 轴移动元素。
scale(x,y) 定义 2D 缩放转换,改变元素的宽度和高度。
scaleX(n) 定义 2D 缩放转换,改变元素的宽度。
scaleY(n) 定义 2D 缩放转换,改变元素的高度。
rotate(angle) 定义 2D 旋转,在参数中规定角度。
skew(x-angle,y-angle) 定义 2D 倾斜转换,沿着 X 和 Y 轴。
skewX(angle) 定义 2D 倾斜转换,沿着 X 轴。
skewY(angle) 定义 2D 倾斜转换,沿着 Y 轴。

 

3D变换属性

下表列出了具有的转移属性:

属性 描述 CSS
transform 向元素应用 2D 或 3D 转换。 3
transform-origin 允许你改变被转换元素的位置。 3
transform-style 规定被嵌套元素如何在 3D 空间中显示。 3
perspective 规定 3D 元素的透视效果。 3
perspective-origin 规定 3D 元素的底部位置。 3
backface-visibility 定义元素在不面对屏幕时是否可见。 3

3D
转换方法

函数 描述
matrix3d(n,n,n,n,n,n,
n,n,n,n,n,n,n,n,n,n)
定义 3D 转换,使用 16 个值的 4×4 矩阵。
translate3d(x,y,z) 定义 3D 转化。
translateX(x) 定义 3D 转化,仅使用用于 X 轴的值。
translateY(y) 定义 3D 转化,仅使用用于 Y 轴的值。
translateZ(z) 定义 3D 转化,仅使用用于 Z 轴的值。
scale3d(x,y,z) 定义 3D 缩放转换。
scaleX(x) 定义 3D 缩放转换,通过给定一个 X 轴的值。
scaleY(y) 定义 3D 缩放转换,通过给定一个 Y 轴的值。
scaleZ(z) 定义 3D 缩放转换,通过给定一个 Z 轴的值。
rotate3d(x,y,z,angle) 定义 3D 旋转。
rotateX(angle) 定义沿 X 轴的 3D 旋转。
rotateY(angle) 定义沿 Y 轴的 3D 旋转。
rotateZ(angle) 定义沿 Z 轴的 3D 旋转。
perspective(n) 定义 3D 转换元素的透视视图。

 

CSS3 过渡

 

联网性质

下表列出了装有的连接性质:

属性 描述 CSS
transition 简写属性,用于在一个属性中设置四个过渡属性。 3
transition-property 规定应用过渡的 CSS 属性的名称。 3
transition-duration 定义过渡效果花费的时间。默认是 0。 3
transition-timing-function 规定过渡效果的时间曲线。默认是 "ease"。 3
transition-delay 规定过渡效果何时开始。默认是 0。 3
div{ transition-property: width; transition-duration: 1s; transition-timing-function: linear; transition-delay: 2s;/* Safari */ -webkit-transition-property:width; -webkit-transition-duration:1s; -webkit-transition-timing-function:linear; -webkit-transition-delay:2s;}

 

CSS3 动画

 

要创造CSS3卡通,你须求通晓@keyframes规则。@keyframes规则是成立动画。
@keyframes规则内钦命二个CSS样式和卡通将逐年从脚下的样式更改为新的体制。

实例

当动画为 百分之二十五 及 二分一时改变背景观,然后当动画 百分之百 完结时再次改变:

@keyframes myfirst{ 0%   {background: red;} 25%  {background: yellow;} 50%  {background: blue;} 100% {background: green;}}

上边包车型地铁报表列出了 @keyframes
规则和装有动画属性:

属性 描述 CSS
@keyframes 规定动画。 3
animation 所有动画属性的简写属性,除了 animation-play-state 属性。 3
animation-name 规定 @keyframes 动画的名称。 3
animation-duration 规定动画完成一个周期所花费的秒或毫秒。默认是 0。 3
animation-timing-function 规定动画的速度曲线。默认是 "ease"。 3
animation-delay 规定动画何时开始。默认是 0。 3
animation-iteration-count 规定动画被播放的次数。默认是 1。 3
animation-direction 规定动画是否在下一周期逆向地播放。默认是 "normal"。 3
animation-play-state 规定动画是否正在运行或暂停。默认是 "running"。 3

 

div{ animation-name: myfirst; animation-duration: 5s; animation-timing-function: linear; animation-delay: 2s; animation-iteration-count: infinite; animation-direction: alternate; animation-play-state: running;/* Safari and Chrome: */ -webkit-animation-name: myfirst; -webkit-animation-duration: 5s; -webkit-animation-timing-function: linear; -webkit-animation-delay: 2s; -webkit-animation-iteration-count: infinite; -webkit-animation-direction: alternate; -webkit-animation-play-state: running;}
CSS3 多列

下表列出了独具 CSS3 的多列属性:

属性 描述
column-count 指定元素应该被分割的列数。
column-fill 指定如何填充列
column-gap 指定列与列之间的间隙
column-rule 所有 column-rule-* 属性的简写
column-rule-color 指定两列间边框的颜色
column-rule-style 指定两列间边框的样式
column-rule-width 指定两列间边框的厚度
column-span 指定元素要跨越多少列
column-width 指定列的宽度
columns 设置 column-width 和 column-count 的简写

 

CSS3 盒模型

 

在 CSS3 中,
伸张了部分新的用户界面天性来调整成分尺寸,框尺寸和外边框,主要不外乎以下用户界面属性:

  • resize:none | both | horizontal |
    vertical | inherit
  • box-sizing: content-box | border-box |
    inherit
  • outline:outline-color outline-style
    outline-width outine-offset

resize属性钦点1个成分是或不是应当由用户去调整大小。

box-sizing
属性允许你以适量的方法定义适应有些区域的具体内容。

outline-offset
属性对概况进行偏移,并在超越边框边缘的地方绘制概况。


 

CSS3伸缩布局盒模型(弹性盒)

 

CSS3 弹性盒(
Flexible Box 或
flexbox),是一种当页面必要适应不一致的荧屏大小以及设备项目时确认保障成分拥有格外的行事的布局情势。

引入弹性盒布局模型的目标是提供一种特别使得的措施来对贰个器皿中的子成分举办排列、对齐和分配空白空间。


 

下表列出了在弹性盒子中常用到的性质:

属性 描述
display 指定 HTML 元素盒子类型。
flex-direction 指定了弹性容器中子元素的排列方式
justify-content 设置弹性盒子元素在主轴(横轴)方向上的对齐方式。
align-items 设置弹性盒子元素在侧轴(纵轴)方向上的对齐方式。
flex-wrap 设置弹性盒子的子元素超出父容器时是否换行。
align-content 修改 flex-wrap 属性的行为,类似 align-items, 但不是设置子元素对齐,而是设置行对齐
flex-flow flex-direction 和 flex-wrap 的简写
order 设置弹性盒子的子元素排列顺序。
align-self 在弹性子元素上使用。覆盖容器的 align-items 属性。
flex 设置弹性盒子的子元素如何分配空间。

必发bifa88手机客服端, 

CSS3 多媒体查询

从 CSS
版本 2 始于,就足以由此媒体类型在 CSS
中获得媒体帮衬。借使您曾经采用过打印样式表,那么你可能早已运用过媒体类型。清单
1 体现了多个演示。

清单 1.
行使媒体类型

<link rel="stylesheet" type="text/css" href="site.css" media="screen" /><link rel="stylesheet" type="text/css" href="print.css" media="print" />

清单 2.
媒体询问规则

@media all and (min-width: 800px) { ... }
  • @media all 是媒体类型,也等于说,将此 CSS
    应用于具有媒体类型。

  • (min-width:800px) 是含有媒体询问的表明式,假若浏览器的细小宽度为
    800 像素,则会告诉浏览器只利用下列 CSS。

清单
3. and 条件

@media (min-width:800px) and (max-width:1200px) and (orientation:portrait) { ... }

清单
4. or 关键词

@media (min-width:800px) or (orientation:portrait) { ... }

清单 5.
使用 not

@media (not min-width:800px) { ... }

源点为知笔记(Wiz)

相关文章