html
XMl、HTML与XHTML的区别
一、XMl、HTML与XHTML的区别
xml:被设计来传输和存储数据、一种数据格式
html:超文本标记语言、被设计来展示数据
xhtml:可扩展超文本标记语言、与html蕾丝,但相对于html,要求更为严格。
html是超文本标记语言,xhtml是可扩展超文本标记语言。
二、常用的HTML标签
块级
div、table、from、h1、h2、h3、hr、ul、
行内
span、img、input、br、a、em
三、HTML5概念
html5是html的一个新标准。在2014年,html5.0版本发布
#####一、如何区别html和html5
HTML4中需要指明是HTML的哪个版本,HTML5不需要,只使用<!DOCTYPE html>即可
#####二、html5的新特性
2014年,html5.0版本终于发布,距离上一个版本1999年制定的html4已经有十几年的时间,html5为我们带来了很多前所未有的新特性。比如语义化标签、本地存储、多媒体、
1、语义化
H5增加了新标签,header、footer、nav、audio、vedio、article、aside、section、
新增了input 类型
<input type="email" name="email" />
<input type="url" name="user_url" />
<input type="number" name="points" min="1" max="10" />
<input type="range" name="points" min="1" max="10" />
<input type="date" name="user_date" />
<input type="search" name="search" />
移除了一些标签
纯表现的元素:basefont,big,center,font, s,strike,tt,u;
对可用性产生负面影响的元素:frame,frameset,noframes
优点:写出的HTML代码,符合内容的结构化(内容语义化),给网页更好的结构和意义,对搜索引擎更友好。特别是新闻类,博客类网站受益很大。
缺点:使用新特性,如何兼容不支持的浏览器。(IE11支持,其他浏览器大部分支持)
2、本地存储特性
本地存储历史
cookie(最早、4kb)->然后是H5的 localStorage、sessionStorage
getItem()、setItem()、removeItem()
***注意:H5本地存储只存储字符串,所以需要自己进行类型转换。
3、设备访问特性
地理位置API、媒体访问API
4、连接特性
5、网页多媒体特性
audio 和 video标签
6、三维、图形及特效特性
二、标准模式与怪异模式
浏览器对html和css的解析有两种模式,标准模式和怪异模式。
浏览器会根据html的文档类型声明来决定使用哪一种模式。(文档类型声明说明html的版本)
Html5
<!DOCTYPE html>
Html4.01
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
两种模式的常见区别
盒模型的处理差异
标准模式会使用标准盒模型来渲染,怪异模式会使用怪异盒模型(ie盒模型)来渲染。
行内元素的垂直对齐
标准模式的会对齐基线,怪异模式会对齐底部。
四、data-的好处
Html5的新特性之一。用户可以使用data-来定义一些数据存储到标签里。避免用户自定义属性来存储和操作数据。
<div data-myname="xiaowang" id="testDiv" >xiao</div>
console.log("data-myname:",document.getElementById("testDiv").dataset.myname);
console.log("data-myname:",document.getElementById("testDiv").getAttribute("data-myname"));
五、meta标签
标签提供关于 HTML 文档的元数据。元数据不会显示在页面上,但是对于机器是可读的。
典型的情况是,meta 元素被用于规定页面的描述、关键词、文档的作者、最后修改时间以及其他元数据。
元数据可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他 web 服务。
一般的meta标签
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1,shrink-to-fit=no,minimum-scale=1,maximum-scale=1,minimal-ui">
<meta name="theme-color" content="#000000">
<meta name="full-screen" content="yes">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta name="renderer" content="webkit" />
<meta name="viewport" content="width=device-width,initial-scale=0.25">
常用的比如1、设置编码格式,那么浏览器在请求html的时候,服务器会在http头上带有
Content-Type: text/html; charset=UTF-8
2、设置http-equiv,它把content属性关联到http 头
那么设置
则http头上带有X-Ua-Compatible: IE=Edge,chrome=1 (参考百度的网站)
X-UA-Compatible字段是用来定义浏览器的渲染方式,比如:使用IE内核浏览器来访问,会渲染至该浏览器的最高版本,比如你使用IE9浏览器,那么就算在兼容模式切换至IE7,但仍会渲染成IE9的样子。
3、设置name,把content属性关联到一个名词
比如设置:
设置renderer:webkit,由于国内部分浏览器是双核浏览器,一个是快速渲染的webkit内核,一个是ie内核。
####七、css js放置位置和原因
网站加载的整个完整过程。
1.首先浏览器从服务器接收到html代码,然后开始解析html
2.构建DOM树(根据html代码自顶向下进行构建),并且在同时构建渲染树
3.遇到js文件加载执行,将阻塞DOM树的构建;遇到css文件,将阻塞渲染树的构建
script标签中的defer属性:构建DOM树的过程和js文件的加载异步(并行)进行,但是js文件执行需要在DOM树构建完成之后
script标签中的async属性:构建DOM树、渲染树的过程和js文件的加载和执行异步(并行)进行)
综上所述,script标签最好放在</body>标签的前面,因为放在所有body中的标签后面就不会出现网页加载时出现空白的情况,可以持续的给用户提供视觉反馈,同时在有些情况下,会降低错误的发生。
而css标签应该放在<head></head>标签之间,因为如果放在</body>标签的前面,那么当DOM树构建完成了,渲染树才构建,那么当渲染树构建完成,浏览器不得不再重新渲染整个页面,这样造成了资源的浪费。效率也不高。如果放在<head></head>之间,浏览器边构建边渲染,效率要高的多。
css渲染不会阻塞dom树渲染,但会阻塞render树渲染。