<h5>HTML、XML、XHTML 有什么区别</h5>
HTML,超文本标记语言,它是语法较为松散的不严格的Web语言。从它出现后网页开发人员为其添加了各种特性。虽然这些新特性开始很不错,但他们破坏了HTML的简单性,且在浏览器如何显示网页这一问题带来了不一致。 HTML的混乱导致了网页浏览器必须猜测如何显示网页。理想情况下,应能够确切的定义网页如何显示,并使网页的显示不管在哪种 浏览器或操作系统上都一样,XML在这一目标的实现发挥着重要作用。
XML,可扩展标记语言,主要用于存储数据和结构。XML 中所有的东西都要被正确的标记,以产生形式良好的文档。XML提供了基础规则,以统一的方式来组织信息。XML并不是HTML的代替品,HTML是相对不那么结构话的语言,它可以从XML的规则得到改进。XML 用来描述数据,而 HTML 则用来显示数据。
XHTML,可扩展超文本标记语言。通过把 HTML 和 XML 各自的长处加以结合,我们得到了在现在和未来都能派上用场的标记语言 XHTML。它基于XML,作用与HTML类似,但语法更严格。XHTML 包含了所有与 XML 语法结合的 HTML 4.01 元素。XHTML 可以被所有的支持 XML 的设备读取,同时在其余的浏览器升级至支持 XML 之前,XHTML 使我们有能力编写出拥有良好结构的文档,这些文档可以很好地工作于所有的浏览器,并且可以向后兼容。
<h5>怎样理解 HTML 语义化</h5>
语义化HTML是一种编写HTML的方式。语义化指的是机器在需要更少的人类干预的情况下能够研究和收集信息,让网页能够被机器理解,最终让人类受益。语义化的主要目的就是让大家直观的认识标签(markup)和属性(attribute)的用途和作用。根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码。语义化有利于SEO,有助于爬虫抓取更多的有效信息,爬虫是依赖于标签来确定上下文和各个关键字的权重。语义化的HTML在没有CSS的情况下也能呈现较好的内容结构与代码结构,方便其他设备的解析,便于团队开发和维护。
<h5>怎样理解内容与样式分离的原则</h5>
写 HTML 的时候先不管样式, 重点放在HTML的结构和语义化上,让 HTML 能体现页面结构或者内容。之后再去写样式。写 JS 的时候,尽量不要用 JS 去直接操作样式,而是通过给元素添加删除class来控制样式变化。HTML负责网页内容(结构)部分,样式则负责了页面的展示效果。内容与样式分离使得内容和样式各自只负责自己的部分,消除两者的耦合。更重要的是分离增强了机器的可读性,使得机器、网络爬虫能更好地理解页面内容。
<h5>有哪些常见的meta标签</h5>
meta标签用来描述一个HTML网页文档的属性。 meta标签由http-equiv属性和name属性等属性组成,属性不同参数不同,体现网页功能自然也不同。
一.name属性
name属性主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。meta标签的name属性语法格式是:<meta name="参数" content="具体的参数值"> 。
其中name属性主要有以下几种参数:
1.viewport设置视口属性,主要是为移动端设备设置显示方式。
2.Keywords用来告诉搜索引擎你网页的关键字是什么。
3.description用来告诉搜索引擎你的网站主要内容。
4.robots用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。content的参数有all,none,index,noindex,follow,nofollow。默认是all。
5.author标注网页的作者。
6.copyright标注网站版权信息。
7.renderer浏览器的内核控制。
二.http-equiv属性(一些保护网站措施)
http-equiv相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。语法格式是:<meta http-equiv="参数" content="参数变量值"> 。
其中http-equiv属性主要有以下几种参数:
1.Expires可以用于设定网页的到期时间。
2.Pragma禁止浏览器从本地计算机的缓存中访问页面内容。
3.Refresh自动刷新并指向新页面。
4.Set-Cookie如果网页过期,那么存盘的cookie将被删除。
5.Window-target显示窗口的设定
6.content-Type设定页面使用的字符集。
7.http-equiv = "X-UA-Compatible" content="IE=edge,chrome=1"用户的IE浏览器外观不变,但用户在浏览网页时实际上使用的是Chrome的内核。
此外,还有charset(UTF-8、ISO-8859-1等),声明页面所用的字符编码。content定义与 http-equiv 或 name 属性相关的元信息。scheme定义用于翻译 content 属性值的格式。
<h5>文档声明的作用?严格模式和混杂模式指什么?<!doctype html> 的作用?</h5>
<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签用来声明文档对象模型,可告知浏览器文档使用哪种 HTML 或 XHTML 规范。
严格模式是指浏览器按照 W3C 标准解析代码,使用<!doctype>标签来显式声明该用哪种方式来渲染页面。
混杂模式:不加<!doctype>标签,允许浏览器使用自己的方式来渲染页面。
浏览器解析时到底使用严格模式还是混杂模式,与网页中的 DTD 直接相关。
HTML5中没有了DTD,所以两者也没了区别,文档声明也简化成了<!doctype html>,声明使用HTML5来解析渲染页面。
<h5>浏览器乱码的原因是什么?如何解决</h5>
乱码产生的根本原因是保存的编码格式和浏览器解析时的解码格式不匹配导致的。乱码一般是英文以外的字符才会出现。
要解决这个问题,那么在文件保存的时候你自己要清楚是用哪种编码方式保存的。如果你的文件是保存为utf-8格式,那么一定要在html 的 <head>里添加<meta charset="utf-8">,这句话的意思是告诉浏览器在打开这个页面的时候不要去猜了,直接用utf-8去解码。 同理,如果你的文件保存为gbk格式,一定在文件里添加<meta charset="gbk">。
<h5>常见的浏览器有哪些,什么内核</h5>
常见浏览器:IE,Mozilla Firefox,Google Chrome,opera,safari,还有360, 傲游, 搜狗,QQ,世界之窗,猎豹等等。
1.Trident内核又称其为IE内核。是微软开发的一种排版引擎。使用Trident渲染引擎的浏览器包括:IE、傲游、世界之窗浏览器、Avant、腾讯TT、Netscape 8、NetCaptor、Sleipnir、GOSURF、GreenBrowser和KKman等。
2.Gecko内核。Gecko是最流行的排版引擎之一,仅次于Trident。使用它的最著名浏览器有Firefox、Netscape6至9。
3.WebKit内核。主要用于Mac OS系统,源码结构清晰、渲染速度极快。缺点是对网页代码的兼容性不高,导致一些编写不标准的网页无法正常显示。主要代表有Safari和Google的浏览器Chrome。
4.Presto内核。是由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。
还有些使用多种内核的。
<h5>列出常见的标签,并简单介绍这些标签用在什么场景</h5>
html将所有HTML内容都包含在这个标签内;
head定义文档的头部,它是所有头部元素的容器;
meta描述一个网页文档的属性。
title网页的标题信息,它会出现在浏览器的标题栏中;
body定义文档的主体;
h1至h6:标题标签,应用于页面标题或区块标题标签,字体大小逐级减小,重要程度也逐级减小;
p段落标签,用于文字中的段落;
a链接标签,有href, target, title等属性。超链接挑战、设置页面锚点、发送电子邮件等;
img图片标签,用于设置图片;
div块标签,用于划分页面结构区块;
ul, li无序列表标签,用于表示并列的内容;
ol, li有序列表标签,用于表示带步骤或编号的并列内容;
dl, dt, dd自定义列表标签,用于展示一系列的“标题,内容”等;
button按钮标签,用于表示一个按钮;
table, tr, td表格标签,用表格来展示数据时使用, tr代表行,td代表单元格;
strong更强烈的强调;
em强调;
span作用是设置单独的样式;
br换行;
注释标签,用于在页面上添加注释;