HTML相关知识
1、HTML、XML、XHTML 有什么区别
- HTML(HyperText Markup Language):超文本标记语言,是语法较为松散的、不严格的web语言;其侧重点是数据的外观,被设计用来显示数据
- XML(Extensible Markup language),是一种简单的数据存储语言,使用一系列简单的标记描述数据。可扩展标记语言,主要用于存储数据和结构,其侧重点是数据的内容;XML标签没有被预定义,需自行定义标签。
- XHTML(Extensible HyperText Markup Language),可扩展超文本标记语言,基于XML的优点,语法的书写格式严格,作用与HTML类似,用来显示数据。实际上就是更加严谨、准确的HTML。
在XHML中,元素必须被正确地嵌套;元素必须被关闭;标签名必须用小写字母;文档必须拥有根元素。
2、怎样理解 HTML 语义化
语义化指选择合适的标签、使用合理的代码结构,便于开发者阅读,同时让浏览器的爬虫和机器很好地解析。
作用:(1)页面也能呈现出很好的内容结构、代码结构,表达清晰;(2)便于用户体验,例如title、alt用于解释名词和解释图片信息;(3)有利于SEO,和搜索引擎建立良好的沟通,有助于爬虫抓取更多的有效信息,爬虫依赖于标签来确定上下文和各个关键字的权重;(4)方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以有意义的方式来渲染页面;(5)便于团队开发和维护,语义化更具可读性。
3、怎样理解内容与样式分离的原则?
内容、样式、行为,分离;HTML内容,CSS样式,JS行为、交互。
- 写HTML的时候先不管样式,重点放在HTML的结构和语义化上,让HTML能提现页面结构或者内容。(内容与样式分离)
- 写JS的时候,尽量不要用JS去直接操作样式,而是通过给元素添加删除class来控制样式变化。(行为分离)
- HTML内不允许出现属性样式,尽量不要出现行内样式。
4、有哪些常见的meta标签?
meta常用于定义页面的说明,关键字,最后修改日期,和其它的元数据。这些元数据将服务于浏览器(如何布局或重载页面),搜索引擎和其它网络服务。
meta标签,共有两个属性,分别是http-equiv属性和name属性。
(1)http-equiv属性:定义http参数
包括:charset(设定网页字符集),X-UA-Compatible(浏览器采取何种版本渲染当前页面),cache-control(指定请求和响应遵循的缓存机制),expires(网页到期时间),refresh(自动刷新并指向某页面),Set-Cookie(cookie设定)。
(2)name属性:用于描述网页,比如网页的关键词,叙述等
包括:keywords(关键字), description(网站内容的描述),viewport(移动端的窗口), robots(定义搜索引擎爬虫的索引方式),author(作者), generator(网页制作软件),copyright(版权),revisit-after(搜索引擎爬虫重访时间),renderer(双核浏览器渲染方式)
例:
- <meta charset=”utf-8”> 声明编码
- <meta http-equiv=”X-UA-Compatible” content=”IE=edge, chrome=1”> 对于一些双核浏览器,用最新的标准渲染。
- <meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1”>在移动端合理展示。
- <meta name=”keywords” content=”关键词”> 便于搜索引擎优化。
5、文档声明的作用?严格模式和混杂模式指什么?<!doctype html> 的作用?
- 文档声明作用:告知浏览器,以何种方式解析、渲染当前页面。
- 严格模式,有文档声明,用来告诉浏览器该如何渲染,标准模式指用标准格式来渲染页面。
- 混杂模式,无文档声明,浏览器以自己的方式渲染。
- <!DOCTYPE html> 告诉浏览器,以HTML5的方式解析、渲染当前页面。
6、浏览器乱码的原因是什么?如何解决?
- 浏览器打开页面时,将编码和字符串解析成内容;若无指明编码格式,浏览器不知道以何种方式来解析编码,以浏览器默认的编码方式进行解析,所以容易造成乱码。常见有中文字符、小语种字符错误。
- 解决方式:设置网页编码声明,即通过设置charset,并保存为设置的字符编码方式,一般设置为UTF-8。
7、常见的浏览器有哪些,什么内核?
IE:Trident内核
Chrome:blink内核
firefox:GECKO内核
Safari: WebKit内核
Opera Sofeware:Presto内核
8、列出常见的标签,并简单介绍这些标签用在什么场景?
h1-h6 标题
p 段落
a 链接到一个地址,
img 展示图片
div标签,用于给页面划分区块,让结构更清晰
ul li 无序列表,可以嵌套
ul的直接子元素是li,里面不可以有p,h等标签
ol li 有序列表
dl dt dd 用于展示一系列“标题:内容....”的场景
<button> </button>
iframe 用于嵌入一个页面,需要注意跨域操作问题
table 用于展示表格