1. HTML、XML、XHTML 有什么区别
HTML:超文本标记语言,语法较为松散,不严格的web语言;标签可以不闭合,不区分大小写。
XML:可扩展标记语言,主要用于存储数据和结构,可以自由创建标签;标签必须闭合,严格区分大小写。
XHTML:可扩展超文本标记语言,相较HTML语法更加严格。标签必须闭合,标签必须小写。
2. 怎样理解 HTML 语义化
语义化是指根据内容的结构化(内容语义化),选择合适的标签(代码语义化),便于开发者阅读和写出更优雅的代码的同时,让浏览器的爬虫和机器很好的解析。
语义化的好处是:
- 有利于SEO,有助于爬虫抓取更多的有效信息,爬虫是依赖于标签来确定上下文和各个关键字的权重。
- 语义化的HTML在没有CSS的情况下也能呈现较好的内容结构与代码结构
- 方便其他设备的解析
- 便于团队开发和维护
3. 怎样理解内容与样式分离的原则
HTML负责网页内容(结构)部分,样式则负责了页面的展示效果。内容与样式分离使得内容和样式各自只负责自己的部分,消除两者的耦合。更重要的是分离增强了机器的可读性,使得机器、网络爬虫能更好地理解页面内容。
4. 有哪些常见的meta标签
标签有两个重要属性name和http-equiv。
4.1 name = "viewport"
设置视口属性,主要是为移动端设备设置显示方式。
4.2 name = "keywords"
设置网页关键字,告诉搜索引擎网页是干什么用的。
4.3 name = "description"
设置网页描述,也是告诉搜索引擎网页是干什么用的。
4.4 name = "author"
标注网站的作者是谁。
4.5 name = "copyright"
标注网站版权信息。
4.6 name = "robots"
robots用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。content的参数有all,none,index,noindex,follow,nofollow。默认是all。
4.7 http-equiv = "X-UA-Compatible" content="IE=edge,chrome=1"
让用户的IE浏览器外观不变,但用户在浏览网页时实际上使用的是Chrome的内核。
5. 文档声明的作用?严格模式和混杂模式指什么?
的作用?
声明位于文档中的最前面的位置,处于 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。
严格模式:是指浏览器按照 W3C 标准解析代码。
混杂模式:是指浏览器用自己的方式解析代码。
浏览器解析时到底使用严格模式还是混杂模式,与网页中的 DTD 直接相关。HTML5中没有了DTD,所以两者也没了区别,文档声明也简化成了。
6. 浏览器乱码的原因是什么?如何解决
当浏览器解析HTML页面时的编码与实际页面编码不一致时就会产生乱码,主要有两种情况:
6.1 页面没有设置chartset
如果页面没有设置chartset,那么浏览器解析时就会自动选择一种编码,若选择的编码与页面实际编码不一致时就会产生乱码。此时,在页面中添加meta信息将页面chartset设置为合适的编码就可以了。
6.2 页面设置了chartset,但与实际使用的编码不一致
这种情况也会导致编码错位的情况,这时只要修改相应的chartset值就可以了。
7. 常见的浏览器有哪些,什么内核
常见的浏览器有IE系列,FireFox, Chrome, Safari, Opera, 360双核浏览器, 傲游双核浏览器, 搜狗双核浏览器等。他们的内核分别是:
Trident:
IE系列,360双核浏览器,傲游双核浏览器,搜狗双核浏览器;
Gecko:
FireFox;
Webkit:
Safari,360双核浏览器,傲游双核浏览器,搜狗双核浏览器;
Bink:
Chrome, Opera;
8. 列出常见的标签,并简单介绍这些标签用在什么场景
h1~h6:标题标签,应用于页面标题或区块标题标签,字体大小逐级减小,重要程度也逐级减小;
p:段落标签,用于文字中的段落;
a:链接标签,有href, target, title等属性,使用场景有:超链接挑战、设置页面锚点、发送电子邮件等;
img:图片标签,用于设置图片;
div:块标签,用于划分页面结构区块;
ul, li:无序列表标签,用于表示并列的内容;
ol, li:有序列表标签,用于表示带步骤或编号的并列内容;
dl, dt, dd:自定义列表标签,用于展示一系列的“标题,内容”等;
button:按钮标签,用于表示一个按钮;
table, tr, td:表格标签,用表格来展示数据时使用, tr代表行,td代表单元格;
:注释标签,用于在页面上添加注释;