HTML、XML、XHTML的区别
1.HTML:超文本标记语言(HyperText Markup Language)
http://validator.w3.org/(用于检验html文本是否符合标准)
2.XML:可扩展标记语言,主要用于存储数据和结构
3.XHTML:可扩展超文本标记语言,基于XML,作用与HTML类似,语法更严谨。
tips:html如果标签有错,浏览器不会进行报错,而是按照自己的理解去显示,而xml如果格式有错,那么数据就会终止传输等,无法工作。。
如何理解HTML语义化
正确的html能够在不同的浏览器上显示相同的内容。
比如em标签对用来强调文本,在浏览器上以斜体显示;而 i 标签对只是让文本有一个斜体的效果,所以虽然最后都是斜体但是索要表达的含义不同。
语义化就是让标签和其所包裹的内容的意思想吻合
好处:
1.方便机器理解代码,利于SEO
2.代码更简洁,复用性更高。使用合适的标签,可以少写很多css或者js
3.访问性更好(主要就是针对读屏器或者其他一些对CSS理解不好的浏览器。语义化的HTML可以做到脱离CSS还能看,而非语义化的就难了。)
在学习让自己的HTML语义化上,我们需要掌握常用的标签和它们所表达的含义,以及多向大网站和好的开源项目学习别人在HTML语义化上是怎样做的。
参考:http://www.cnblogs.com/season-huang/p/3548514.html
怎样理解内容与样式分离的原则
html的标签用来对文本进行标记,既说明。比如em标签对用来强调文本,在浏览器上以斜体显示;而 i 标签对只是让文本有一个斜体的效果,所以虽然最后都是斜体但是索要表达的含义不同,所以HTML的作用在于告诉浏览器文本的结构。这一点在普通用户看来没什么区别,但是对与一些残障人士他们使用阅读器时,统一正确的html格式能够让他们也很好的理解文本内容。而且把结构与样式相分离也能够在以后想要更改样式的时候更方便快捷的进行操作而不必在结构上修改,避免麻烦。
tips:超文本与标记是两个部分。
HTML提供了用标记标示文本的方法,来告诉浏览器文本的结构
常见的meta标签
最常见的 <code><meta charset="UTF-8"></code>
name属性
<meta name="keywords" content="饥人谷,前端“>
<meta name="description" content="在饥人谷学习的小白一枚“>
<meta name="author" content="高英楠“>
<meta name="copyright" content="高英楠“>
http-equiv属性(这么没有理解)
语法格式<meta http-equiv="参数“ content="具体的描述”>
现在字符编码标准已经统一为Unicode,形式如下
ASCII兼容。
为服务器提供的文件的编码要与<meta>标记中指定的编码一致。
文档声明的作用?严格模式和混杂模式指什么?<!doctype html>的作用?
1.文档声明的作用是告诉浏览器当前的html文档使用的是哪一个版本的html规范编写的,这样在不同的浏览器上就可以更正确的显示相同的页面。
2.严格模式、混杂模式
.<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。
区别:
混杂模式是一种比较宽松的向后兼容的模式。混杂模式通常模拟老式浏览器的行为,以防止老站点无法工作。
在标准模式中,浏览器以其支持的最高标准呈现页面,
为什么会有混杂模式呢?
当年Netscape4(译注:网景公司早期的浏览器)和IE4(微软公司早期的浏览器)实现CSS机制时,并没有遵循W3C提出的标准。Netscape4 提供了糟糕的支持,而IE4 虽然接近标准,但依旧未能完全正确的支持标准。尽管IE 5 修复了IE4 许多的问题(bugs),但是依然延续CSS实现中的其它故障(主要是盒模型(box model)问题)。为了保障自己的网站在各个浏览器上显示正确,网页开发者们不得不依据各个浏览器自身的规范来使用css,因此大部分网站的css实现并不符合W3C规范的标准。然而随着标准一致性越来越重要,浏览器开发商不得不面临一个艰难的抉择:逐渐遵循W3C的标准是前进的方向。但是改变现有的 css,完全去遵循标准,会使许多旧网站或多或少受到破坏,如果浏览器突然以正确的方式解析现存的css,陈旧的网站的显示必然会受到影响。所以,所有的浏览器都需要提供两种模式:混杂模式服务与旧式规则,而严格模式服务于标准规则
参考:http://www.cnblogs.com/youxin/p/3345100.html
3.<!doctype html>是H5使用的。与下面的html4.01版本的声明相比简化很多。
在h5的声明中不再考虑标准在什么位置,也不考虑版本号,html标准变成了“活的标准”,它可以根据需要继续发展和变化,意味着以后不会再有html6/7等,从现在开始只有html。新标准的关键在于“向后兼容性”,既从前的就标准仍可以使用,而新添加的一些标签用不用看自己的实际情况,如果一些老旧的标签在以后的标准中被废除或者更换,那么旧标签仍然被支持,新标签同时也可以使用,保证了在html标准不断地更新过程中,以往html能够正常的工作。以后使用<!doctype html>时。浏览器就知道你在使用的是html标准,它兼容过往所有的版本号。
而且html5会记录wweb开发人员常犯的错误,并告诉浏览器如何处理这些错误。
浏览器乱码的原因是什么?如何解决?
1.浏览器没有使用与html文件相同的把编码格式。在编写html时使用的是何种编码格式,就要在<meta>中写明相对应的编码格式,没写或者写错浏览器就会可能使用错误的编码格式进行解码、
2.解决办法就是,html使用了何种编码格式,就在<meta>中指明,不要错指或不指。
常见的浏览器有哪些,什么内核
浏览器内核可以分成两部分:渲染引擎(layout engineer 或者 Rendering Engine)和JS引擎。它负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要内核。JS引擎则是解析Javascript语言,执行 javascript 语言来实现网页的动态效果。
IE浏览器(Trident内核,是一款开放的内核,很多双核浏览器都在使用。)
win10中的Edge(新内核,EdgeHTML)
FireFox(Gecko内核,开源,跨平台。)
chrome(chromium内核)
safari(webkit内核,KHTML的一个开源分支)
参考:http://web.jobbole.com/84826/
列出常见的标签,并简单介绍这些标签用在什么场景
h1标题,随着数字表达等级递减 h1~h6
p段落,表示大段文字
<a href="uel">链接文本</a> 链接,连接到一个地址 target属性、title属性也常用
展示图像(自闭和标签,不是标签对)
div 给页面划分区块
tips:id相当于给某个元素起一个唯一的名字(相当于身份证号一样)
class相当于分类。很多标签可以用同一个class,这样便于给某一类标签加相同的样式。
ul与li 无序列表,li是ul的子元素。表并列,可以嵌套(ul的直接子元素必须是li)
ol 有序列表
dl、dd、dt 用于展示一系列:“标题:内容。。。”(不要用来做布局,head、baody、foot可省略)
button 按钮
em 对文本进行强调
strong 对文本进行语气更强烈的强调
span 使用span 来组合行内元素,以便通过样式来格式化它们。
<ifram src="url" name="名称"></ifram>(与a链接合用)