重点 (四) : HTML5

• 什么是HTML5

1> 2014年才定制完HTML5的标准,历时8年
2> 移动先行
• 为什么要用HTML5
1> 跨平台
利用HTML5编写的UI界面能运行在所有拥有浏览器的平台
2> HTML5的运行平台:浏览器
3> 但是HTML5不能完成一些特定的功能,比如:拍照(ImagePickerController)、访问相册....

• 如何使用HTML5
1> 自己编写大量的HTML5代码
2> 使用现成的HTML5框架
§ sencha-touch
§ phoneGap
§ jQuery mobile
• 手机APP的开发模式
1> 原生(纯OC)
2> 纯HTML5
3> 原生+HTML5

• 为什么要学习HTML5
1> 未来的一种趋势
2> 增加面试、开发竞争力
• Android程序员 Java、服务器、HTML5
• 公司职位的划分
1> 平面设计师 作图、切图、HTML、CSS
2> 前端工程师 HTML、CSS、Javascript、模板技术
3> 后台工程师 服务器(Java、.Net、PHP)、数据库
4> 移动工程师(iOS/android)手机UI界面(OC、HTML5)、跟服务器交互

• 开发工具
1> Android
eclipse、MyEclipse、android studio
2> iOS
Xcode
3> HTML5
eclipse、MyEclipse
后端喜爱
Dreamwaver
⺴⻚三剑客 Dreamwaver、Flash、Fireworks -> Adobe
WebStrom
前端喜爱,⼤神编辑器,默认集成各种各样的插件,配⾊完美

• Web开发新时代
• Web1.0
• 主流技术:HTML+CSS
• Web2.0
• 主流技术:Ajax(JavaScript/DOM/异步数据请求)
• Web3.0
• 主流技术:HTML5+CSS3
HTML5亮点: Canvas HTML5音视频 Web存储 Geolocation Workers多线程处理
CSS3亮点: 设计动画 2D变形 N多新特性

http://html5test.com/

网页的组成
• 一个有具体功能的完整的网页,一般由3部分组成
• HTML
• 网页的具体内容和结构
• CSS
• 网页的样式(美化网页最重要的一块)
• JavaScript(掌握)
• 网页的交互效果,比如对用户鼠标事件做出响应
• HTML\CSS\JavaScript学习资料:http://www.w3school.com.cn/

1.png

常见的HTML标签

标题:h1、h2、h3、h4、h5....

段落:p

换行:br

容器:div、span(用来容纳其他标签)

表格:table、tr、td

列表:ul、ol、li

图片:img

表单:input

链接:a

HTML5新增标签

HTML5新增了27个标签元素,废弃了16个标签元素,主要包括结构性标签、级块性标签、行内语义性标签、交互性标签

1.结构性标签

负责Web上下文结构的定义,确保HTML文档,包括:

article 文章主体内容(一篇博客、一篇论坛帖子、一段用户评论、插件)

header 标记头部区域内容

footer 标记脚部区域内容

section 区域章节表述

nav
菜单导航,链接导航

2.块级性标签

完成Web页面区域的划分,确保内容的有效分隔,包括:

aside 注记,贴士,侧栏,摘要,插入的引用作为补充主体的内容

figure 对多个元素组合并展示的元素,常与figcaption联合使用

code 表示一段代码块

dialog 人与人之间对话,包含dt和dd两个组合元素(dt用于表示说话者、dd用于表示说话者的内容)

3.行内语义性标签

完成Web页面具体内容的引用和表述,丰富展示内容,包括:

meter 特定范围内的数值,如工资、数量、百分比

time 时间值

progress 进度条,可用max、min、step进行控制,完成对进度的表示和监听

video 视频元素,用于视频播放,支持缓冲预载和多种视频媒体格式

audio
音频元素,用于音频播放,支持缓冲预载和多种音频媒体格式

4.交互性标签

功能性内容的表达,有一定的内容和数据的关联,是各种事件的基础,包括:

details 表示一段具体的内容,默认不显示,通过某种方式(单击)与legend交互才会显示

datagrid 控制客户端数据与显示,可用于动态脚本及时更新

menu 用于交互菜单

command
用来处理命令按钮

CSS

什么是CSS

CSS的全称是Cascading Style Sheets,层叠样式表

它用来控制HTML标签的样式,在美化网页中起到非常重要的作用

CSS的编写格式是键值对形式的,比如

color: red;

background-color: blue;

font-size: 20px;

冒号:左边的是属性名,冒号:右边的属性值

CSS的3种书写形式

CSS有3种书写形式

行内样式:(内联样式)直接在标签的style属性中书写

<body style="color: red;">

页内样式:在本网页的style标签中书写

<style>

body {

    color:

red;

}

</style>

外部样式:在单独的CSS文件中书写,然后在网页中用link标签引用

<link rel="stylesheet"
href="index.css">

CSS的两大重点

属性

通过属性的复杂叠加才能做出漂亮的网页

选择器

通过选择器找到对应的标签设置样式

1.png

2.png

3.png

4.png

5.png

6.png

7.png

8.png

9.png

CSS选择器
– 选择器优先级

选择器的针对性越强,它的优先级就越高

选择器的权值

通配选择符(*):0

标签: 1

类: 10

属性: 10

伪类: 10

伪元素: 1

id: 100

important:1000

原则:选择器的权值加到一起,大的优先;如果权值相同,后定义的优先

CSS选择器
– 选择器优先级

优先级排序

important > 内联> id > 类> 标签| 伪类| 属性选择> 伪元素> 通配符> 继承

HTML标签类型

HTML有N多标签,根据显示的类型,主要可以分为3大类

块级标签

独占一行的标签

能随时设置宽度和高度(比如div、p、h1、h2、ul、li)

行内标签(内联标签)

多个行内标签能同时显示在一行

宽度和高度取决于内容的尺寸(比如span、a、label)

行内-块级标签(内联-块级标签)

多个行内-块级标签可以显示在同一行

能随时设置宽度和高度(比如input、button)

修改标签的显示类型

CSS中有个display属性,能修改标签的显示类型

none:隐藏标签

block:让标签变为块级标签

inline:让标签变为行内标签

inline-block:让标签变为行内-块级标签(内联-块级标签)

CSS属性

CSS有N多属性,根据继承性,主要可以分为2大类

可继承属性

父标签的属性值会传递给子标签

一般是文字控制属性

不可继承属性

父标签的属性值不能传递给子标签

一般是区块控制属性

CSS属性
– 可继承属性(红色表示常用)

所有标签可继承

visibility、cursor

内联标签可继承

letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction

块级标签可继承

text-indent、text-align

列表标签可继承

list-style、list-style-type、list-style-position、list-style-image

CSS属性
– 不可继承属性(红色表示常用)

display、margin、border、padding、background

height、min-height、max-height、width、min-width、max-width

overflow、position、left、right、top、bottom、z-index

float、clear

table-layout、vertical-align

page-break-after、page-bread-before

unicode-bidi

1.png

2.png

3.png

4.png

5.png

6.png

7.png

8.png

9.png

RGBA透明度

RGB(红色R+绿色G+蓝色B),RGBA则在其基础上增加了Alpha通道,可用于设置透明值

块阴影与圆角阴影

box-shadow text-shadow

圆角

  border-radius

边框图片

border-image

形变

transform: none |
<transform-function>[<transform-fuction>]

CSS布局

默认情况下,所有的网页标签都在标准流布局中

从上到下,从左到右

脱离标准流的方法有

float属性

position属性 和left、right、top、bottom属性

CSS布局
– float属性

float属性的常用取值有

left:脱离标准流,浮动在父标签的最左边

right:脱离标准流,浮动在父标签的最右边

1.png

absolute:默认情况下是对浏览器进行定位

JavaScript

什么是JavaScript

JavaScript是一门广泛用于浏览器客户端的脚本语言

由Netspace公司设计,当时跟Sun公司合作,所以名字起得像Java

业内一般简称JS

JS的常见用途

HTML DOM操作(节点操作,比如添加、修改、删除节点)

给HTML网页增加动态功能,比如动画

事件处理:比如监听鼠标点击、鼠标滑动、键盘输入

Node.js

什么是Node.js

Node是一个JavaScript运行环境(runtime),是对Google V8引擎进行了封装

V8引擎执行JavaScript的速度非常快,性能非常好

Node.js的优势

可以作为后台语言

单线程

不新增额外线程的情况下,依然可以对任务进行并行处理(采用事件轮询)

非阻塞I/O、V8虚拟机、事件驱动

JavaScript的书写方式

JS常见的书写方式有2种

页内JS:在当前网页的script标签中编写

<script type="text/javascript">

</script>

外部JS

<script src="index.js"></script>

Canvas

HTML

<canvas

id="canvas"></canvas>

JS

 var canvas =

document.getElementById('canvas');

var context =
canvas.getContext('2d');

context是一个绘图的上下文环境

2d是二维图形

Canvas绘制直线

起点

context.moveTo(100,100);

终点

context.lineTo(400, 400);

绘制

context.stroke();

设置线条颜色和宽度

context.strokeStyle = 'red';

context.lineWidth = 5;

设置填充色

context.fillStyle = 'blue';

Canvas绘制弧线

context.arc(

      centerX,

centerY, radius,

startingAngle, endingAngle,

anticlockwise=false

   )

centerX, centerY: 圆心的坐标

radius: 半径

startingAngle, endingAngle: 开始角度,结束角度

anticlockwise:false顺时针true逆时针

1.png

<article>
标记定义一篇文章

<header>
标记定义一个页面或一个区域的头部

<nav>
标记定义导航链接

<section>
标记定义一个区域

<aside>
标记定义页面内容部分的侧边栏

<hgroup>
标记定义文件中一个区块的相关信息

<figure>
标记定义一组媒体内容以及它们的标题

<figcaption>
标签定义figure 元素的标题。

<footer>
标记定义一个页面或一个区域的底部

<dialog>
标记定义一个对话框(会话框)类似微信

多媒体交互标签

<video>
标记定义一个视频

<audio>
标记定义音频内容

<source>
标记定义媒体资源

<canvas>
标记定义图片

<embed>
标记定义外部的可交互的内容或插件 比如flash

Web应用标签

<menu>命令列表

<menuitem>menu命令列表标签
FF(嵌入系统)

<command>
menu标记定义一个命令按钮

<meter>状态标签(实时状态显示:气压、气温)C、O

<progress>状态标签 (任务过程:安装、加载)
C、F、O

<datalist>
为input标记定义一个下拉列表,配合option F、O

<details>
标记定义一个元素的详细内容 ,配合dt、dd C

注释标签

<ruby>
标记定义 注释或音标

<rp>
告诉那些不支持Ruby元素的浏览器如何去显示

<rt>
标记定义对ruby的注释内容文本

其他标签

<keygen>
标记定义表单里一个生成的键值(加密信息传送)O、F

<mark>
标记定义有标记的文本(黄色选中状态)

<output>
标记定义一些输出类型,计算表单结果配合oninput事

删除的HTML标签

纯表现的元素:

basefont,big,center,font,
s,strike,tt,u;

对可用性产生负面影响的元素:

frame,frameset,noframes;

产生混淆的元素:

acronym ,applet,isindex,dir

重新定义的HTML标签

<b>
代表内联文本,通常是粗体,没有传递表示重要的意思

<i>
代表内联文本,通常是斜体,没有传递表示重要的意思

<dd>
可以同details与figure一同使用,定义包含文本,dialog也可用

<dt>
可以同details与figure一同使用,汇总细节,dialog也可用



表示主题结束,而不是水平线,虽然显示相同

<menu>
重新定义用户界面的菜单,配合commond或者menuitem使用

<small>
表示小字体,例如打印注释或者法律条款

<strong>
表示重要性而不是强调符号

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,302评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,232评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,337评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,977评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,920评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,194评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,638评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,319评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,455评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,379评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,426评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,106评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,696评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,786评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,996评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,467评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,043评论 2 341

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,722评论 1 92
  • HTML5 标签comment 注释标签用于在源文档中插入注释。注释内容不会被浏览器显示。为代码编写注释的好处是...
    才気莮孒阅读 4,026评论 1 25
  • 创建一个ROS Package 这个教程包括使用roscreate-pkg或者catkin去创建一个新的packa...
    铁熊玩创客阅读 4,916评论 0 7
  • 一路走来,行走中的每一道风景,人或者事,都是我们的修道场。 无论男女一生中除却感情之外,婚姻是人一生中最大的修道场...
    三妮的路阅读 616评论 0 0
  • 今天听张芝华老师带的冥想,想想五年后的自己。我带着微笑,发自心底的笑,跟老公在聊天,抱着他,儿子站在我们身边,手拍...
    四叶草_3ddd阅读 339评论 0 0