HTML、XML、XHTML 有什么区别?
HTML是一种用于创建网页的国际通用的标准标记语言,用来展示数据;XML是一种标记语言,由相关人士自由决定的标记语言,即语言的可拓展性,设计用来传输及携带数据信息,不能用来表现或是展现数据;HTML语法要求比较松散,这样对网页编写者来说,比较方便,但对于机器来说,语言的语法越松散,处理起来就越困难,对于传统的电脑来说,还有能力兼容松散语法,但对于许多其他设备,比如手机,难度就比较大。因此产生了由DTD定义规则,语法要求更加严格的XHTML。从继承关系上讲,HTML是一种基于标准通用标记语言(SGML)的应用,而XHTML则基于可扩展标记语言(XML),XML是SGML的一个子集。
怎样理解 HTML 语义化?
其实 HTML 在刚开始设计出来的时候就是带有一定的「语义」的,包括段落、表格、图片、标题等等,但这些更多地只是方便浏览器等 UA 对它们作合适的处理。但逐渐地,因为计算机的理解能力不够,机器也要借助 HTML 提供的语义以及自然语言处理的手段来「读懂」它们从网上获取的 HTML 文档,但它们无法读懂例如「红色的文字」或者是深度嵌套的表格布局中内容的含义,因为太多已有的内容都是专门为了可视化的浏览器设计的,因此出现了HTML语义化,具体就是在书写html时,尽量使用具有语义信息的标签,例如header,nav,aside,section等代替那些没有语义信息的标签,例如big,center,strike,font等(完全可以用css来取代的标签)。这样不仅有利于页面DOM的组织,更重要的是有利于机器(主要是搜索引擎)的理解。
html语义化后的优点:有利于SEO,有助于爬虫抓取更多的有效信息,爬虫是依赖于标签来确定上下文和各个关键字的权重。语义化的HTML在没有CSS的情况下也能呈现较好的内容结构与代码结构;方便其他设备的解析;便于团队开发和维护。
怎样理解内容与样式分离的原则?
实际内容与呈现出来的方式是互相独立的。在网页编码中,写html的重点的放在html的结构和语义上,让html能体现结构或者内容,然后再进行CSS样式的设置,以此做到减少html和css的契合度(即内容与样式的分离)
分离原则的优点:PDA、手机等设备可能无法像普通电脑的浏览器一样来渲染网页(通常是因为这些设备对CSS的支持较弱)因此去掉或样式丢失的时候能让页面呈现清晰的结构;浏览器加载网页页面速度变快。分离原则下,大部分页面代码写在了CSS当中,页面体积容量变得更小;网页修改设计时,效率、省时;更好地被搜索引擎收录;可以根据不同的浏览器,达到显示效果的统一。保证网页架构不变形的前提下,放心在不同浏览器渲染显示样式。
有哪些常见的meta标签?
charste 字符集(网页中用到的语言的解析方法)
name:
keywords 关键字(告诉搜索引擎网页关键字,便于搜索)
description 内容描述(告诉搜索引擎网页主要内容)
author 作者(标注网页作者)
文档声明的作用?
可告知浏览器文档使用哪种 HTML 或 XHTML 规范。不正确的声明经常导致不正确显示,或者导致它们根本不能显示。
严格模式和混杂模式指什么?
严格模式指浏览器根据最新的规范呈现页面;混杂模式指不同的浏览器使用各自的方式解析执行代码。
<!doctype html> 的作用?
让浏览器进入标准模式,按照最新的html5的标准解析html页面,如果不写将会浏览器将会进入混杂模式;
此外XHTML 1.0中有3种DTD声明可以选择:
- 过渡的(Transitional)
- 严格的(Strict)
- 框架的(Frameset)
XHTML 1.1(该 DTD 等同于 XHTML 1.0 Strict,但允许添加模型)
HTML4.01中也有3种DTD声明可以选择: - 过渡的(Transitional)
- 严格的(Strict)
- 框架的(Frameset)
浏览器乱码的原因是什么?如何解决
在没有声明编码方式的情况下浏览器会使用默认的解码方式进行解码,浏览器的编码和解码不匹配时就会导致产生乱码,解决方式为对浏览器进行说明,直接按照声明的编码方式进行解析读取,就不会有乱码问题。
常见的浏览器有哪些,有什么内核
常见的浏览器的有IE,CHROME,FIREFOR,EDGE,Sofari等;常见的浏览器内核有IE的Trident,苹果的WebKit,firefox所使用的Gecko,Opera Software的Presto等。
列出常见的标签,并简单介绍这些标签用在什么场景
常见的标签 | 应用 |
---|---|
div | 用于组合其他HTML元素成为一个块 |
h1~h6 | 标题的大小 |
p | 段落 |
span, strong, em | 强调 |
ul, li, ol, dl, dt, dd | 用于设置带有列表性质的内容 |
table | 涉及表格结构时用到 |
a | 用于打开链接 |
img | 图像显示 |
id | 唯一指定名字 |
class | 名字 |