html5+css3
html5定义很多简便东西和宽松语法:
文档头:
<!doctype html>
文档编码:
<meta charset="utf-8">
单标记:可以不加结尾斜杠
是什么?
html5是建立在html4的基础上
只是多了一些新的标签和属性
css3是建立在css2的基础上
只是多了一些新的样式
不用管兼容了。因为根本也就不兼容
一些误区:
1.html5写起来跟html4完全不一样?
html4怎么写,html5就怎么写
2.移动端写起来跟pc端完全不同?
pc端怎么写,移动端就怎么写,只是尺寸不同。
3.移动端写起来比pc端难?
移动端比pc端简单
4.h5只能写移动端?
移动端
游戏
WEBApp
原生
java object-c
web
混合
html5
<header></header> 页眉
<nav></nav> 列表导航
<hgroup></hgroup> 标题组
<footer></footer> 页脚
<section></section> 区域 布局
<article></article> 文章
<aside></aside> 侧边栏
<figure></figure> 一般用于图片或视频,组合
<figcaption></figcaption> 对图片说明
<time></time> 时间
<datalist></datalist> 数据列表
配合input来用
<input type="text" list="data">
<datalist id="data">
<option></option>
</datalist>
<details></details> 简单描述
<summary>概要</summary>
<p>具体详细描述</p>
open 加上可以打开
<dialog></dialog> 对话
<address></address> 地址
<mark></mark> 标记
<keygen> form配合来用,提供了一个秘钥
<progress></progress>
标签 header secation footer nav video audio canvas
以上标签兼容不好:
兼容IE9+
IE8 7 6
想兼容:需要引入一个插件:html5shiv.js
https://en.wikipedia.org/wiki/HTML5_Shiv
条件语句:
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/r29/html5.min.js"></script>
<![endif]-->
html5shiv.js 本质创建一个一对header、footer等...
表单:
type类型:
会自动校验,不是全部的,不完全
* 手机上自动切换键盘
email: 邮箱
url 地址
tel 电话
number 数字
range 滑块
search 搜索
color 颜色
date 日期
datetime
month
week
新增属性:
autofocus 自动聚焦
autocomplete 自动补全 off
placeholder 文字提示
required 必填项
pattern 正则验证
novalidate 关闭校验(加到form身上)
formaction 给submit加提交网址
\w+@[a-z0-9-]+(\.[a-z]{2,6}){1,2}
本地存储
cookie
localStorage
cookie localStorage
生存周期 有 没有
操作 难 简单
容量 4KB 5MB
提交 会 不会
localStorage.xxx = xxx; 设置
localStorage.xxx; 获取
delete localStorage.xxx; 删除
兼容到ie7
delete 是删除属性的
var json={
name:'abc',
age:30
};
delete json.name;
自定义 属性(新的设置方法)
data-xxx="xxx";
向后兼容
obj.dataset.xxx;
可以遍历
性能低:oBtn.dataset.index--oBtn.index多选择了一个属性导致它的性能偏低
例子:
<script>
document.addEventListener('DOMContentLoaded',function(){
var oBtn = document.getElementsByTagName('input')[0];
alert(oBtn.dataset.index);
oBtn.dataset.a = "5";设置一个自定义属性
遍历
for(var name in oBtn.dataset){
alert(name+'=='+oBtn.dataset[name]);
}
},false);
</script>
<input type="button" value="abc" data-index="a" />
js里面新增东西:
选择元素:
选择出来一组元素:
document.querySelectorAll('#div1');
选择出来一个元素
document.querySelector('#div1');
属性操作:
a). .
b). []
c). attribute()
自定义属性:
用attribute绝对靠谱
现在的自定义属性,都是随便写的,为了向后兼容(html6,html100),占用了呢?
data- 自定义属性
获取:
obj.dataset.xxx
data-index-show -> obj.dataset.indexShow
设置:
this.dataset.indexOne=1;
<input data-index-one="1">
选项卡:
aBtn[i].index=i;
aBtn[i].dataset.index=i;
class:
obj.classList 所有的class
obj.add(sClass) 添加class
obj.remove(sClass) 删除class
obj.contains(sClass) 判断是否有class
obj.toggle(sClass) 切换class
//先添加active,在删除,在添加...
oDiv.classList.toggle('active');
app:应用
原生app(native app):
ios oc(object-c)
android java
缺点:至少需要两个团队,耗费资金,开发周期长
优点:性能高(大型3D游戏)、必须可以使用麦克风、摄像头
hybrid app: 混合app
本质也还是一个网页,可以调用一些接口
web app: 本质html5网页,页面,外层包个壳子
优点:跨平台、团队不需要很多人
缺点:性能凑合、不能去调用底层东西
- HTML5基础知识及相关笔记
HTML5基础 1.1HTML文件的基本结构和W3C标准 1.1.1HTML简介 HTML是一种描述网页的语言,一种超文本标记的语言! 1.1.2HTML文件的基本结构 头部(head) 头部是网页的 ...
- HTML5 基础知识(1)——基本标签
## HTML**概念**:是最基础的网页开发语言(Hyper Text Markup Langage 超文本标记语言) > 1.超文本:超文本是用超链接的方式i,将各种不同空间的文字组织在一起 ...
- HTML5基础知识(一)---标签
在HTML5中,Web页面中重新调整了页面规划,这其中新引入了几个新标记. 我们将创建一个简单的Web页面,该页面包含一个Header区.一个Navigation区.一个Article区(包含三个部分 ...
- Web的架构与html5基础知识
图1:完整的Web应用构架 图2:html5的基本结构 head 可添加在头部标签元素有→→title meta style link base script noscript meta 几个重要属性 ...
- html5基础知识学习
HTML5腾讯课堂--html5前端开发视频 https://ke.qq.com/course/89671 html5_video http://www.myexception.cn/jquery/2 ...
- HTML5基础知识习题 一
1. HTML5 之前的 HTML 版本是什么? 答: HTML 4.01 2. HTML5 的正确 doctype 是? 答: <!DOCTYPE html> 3. 在 HTML5 中, ...
- 【前端】之HTML5基础知识
HTML5 文件格式 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- HTML5基础知识汇总(一)
一.HTML的开发工具和使用的浏览器 开发工具:记事本等文本编辑器,Atom.VisualStudioCode( VSCode).Brackets.Sublime text和Hbuider. 浏览器: ...
- 前端 | HTML5基础知识
1 HTML定义 HTML(英文Hyper Text Markup Language的缩写)中文译为"超文本标签语言",主要是通过HTML标签对网页中的文本.图片.声音等内容进行描 ...
随机推荐
- HDU 4726 Kia's Calculation(贪心构造)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4726 题意:给出两个n位的数字,均无前缀0.重新排列两个数字中的各个数,重新排列后也无前缀0.得到的两 ...
- android 内存溢出问题分析
最近的项目中,内存一直再增长,但是不知道是什么问题,导致内存溢出,在网上看到了这么一篇关于内存分析与管理的文章,解决了部分问题,感觉这篇文 章还不错,就转帖到我的blog上了,希望对大家有所帮助. ...
- js案例_下滑列表
1.HTML布局(使用ul): <body> <ul> <li class="list" id="lis"> <a h ...
- R语言 rwordseg包的下载
在CRAN中没有,如果通过R下载经常会出错,使用以下地址下载后加载本地包 http://R-Forge.R-project.org/bin/windows/contrib/3.0/Rwordseg_0 ...
- Codeforces Round #291 (Div. 2)
A 题意:给出变换规则,单个数字t可以变成9-t,然后给出一个数,问最小能够变成多少. 自己做的时候理解成了不能输出前导0,但是题目的本意是不能有前导0(即最高位不能是0,其余位数按照规则就好) 55 ...
- 简单使用Junit
不需要配置,导入相应jar,然后在测试的方法上面加入注解@Test 执行的时候选择junit即可.
- mysql script for dynamic running sql script
),startTime datetime,endTime datetime) BEGIN set @s1 = concat('SELECT * FROM ', deviceName , ' where ...
- Android telnet RPi 2B
/************************************************************************* * Android telnet RPi 2B * ...
- ecshop 广告位固定
不知道ECSHOP用户们发现没有,如果在一个广告位中添加多个广告图片, 在前台显示的时候,每刷新一次,图片的显示顺序就会随机变化一次. 注:如果给广告位只添加一个图片是没有这种问题的. 现在的问题是: ...
- Javascript模块化编程(三):require.js的用法 (转)
转自:http://my.oschina.net/u/1390066/blog/213769 一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载 ...