HTML、XML、XHTML 有什么区别
HTML(HyperText Markup Language),超文本标记语言。“超文本”就是指页面内可以要分清三者的区别,首先我们要知道它们的概念。
HTML的定义
XML的定义
XHTML的定义
从概念上来看,我们大概能理解它们的区别,但是我们需要进一步的分析它们,就需要从代码方面来看了。
HTML的代码如下所示
XML的代码如下所示
XHTML的代码如下所示 [图片上传中。。。(6)]
总结: XHTML被发明出来是为了能更好地去规范HTML,因为HTML的书写和规定不是那么规范,所以出了一个更严格的版本去规范它,这个新版本就是XHTML,它的语法和基本使用规则和HTML几乎一模一样,XHTML以后将渐渐取代HTML。 XML则是用于用来传输和存储数据,它是不作为的,只是作为纯文本来传输数据,正如上面的代码那样,你可以自己发明标签,而不是像html那样必须使用规定的标签。
HTML 语义化
首先是关于语义(Semantics)和默认样式的区别,默认样式是浏览器设定的一些常用tag的表现形式,语义化的主要目的就是让大家直观的认识标签(markup)和属性(attribute)的用途和作用,很明显Hx系列看起来很像标题,因为拥有粗体和较大的字号。<strong>,<em>用来区别于其他文字,起到了强调的作用。至于列表和表格很明显的告诉你他们是做什么的。
简而言之就是用正确的标签做正确的事。比如我们需要写一些文字我们可以用H标签写可以P标签写甚至可以直接用DIV,但是如果我们要写的是标题那就用H标签,浏览器或者是维护人员就会知道这是个标题。便于SEO,也有利于维护。
怎样理解内容与样式分离的原则
表现和内容分离是网页布局一直倡导的原则,也是当下很流行的做法。
CSS和HTML分离的优点有以下几点
修改网页时更方便快捷
在修改页面样式的时候,根据内容标记,到CSS里找到对应的id或者是class,可以非常迅速地更改页面样式。页面载入得更快
因为将大部分代码写在了CSS中,使页面体积变小,浏览器加载速度快。更好地被搜索引擎收录
由于将大部分的HTML代码和内容样式写入了CSS文件中,这就使得网页中代码更加适合搜索引擎。
有哪些常见的meta标签
所有浏览器都能支持<meta>标签.
在html里没有结束标签
位于head元素内部
- charset属性:规定HTML文档的字符编码,是HTML5中的新属性,常用的字符编码有UTF-8,ISO–8859-1,你也可以用其他字符编码,但不是所有的浏览器都能够理解它们,所以一般提倡使用广泛的字符。
- http-equiv属性:提供了content属性的信息的HTTP头,可用来模拟HTTP相应头,比如这个代码就是告诉浏览器,每30秒刷新一次。
- name属性:定义文档的描述,关键词,作者。
- content属性:定义和http-equiv或者name属性相关的元信息。
<meta>标签的作用:
声明编码
<meta charset='utf-8' />
优先使用 IE 最新版本和 Chrome,声明优先使用的浏览器
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
使用chorm浏览器
<meta http-equiv="X-UA-Compatible" content="IE=6" >
浏览器内核控制
<meta name="renderer" content="webkit|ie-comp|ie-stand">
国内浏览器很多都是双内核(webkit和Trident),使用该标签可以控制浏览器选择何种内核渲染。
简单举例,国内双核浏览器有以下几种:
搜狗高速浏览器、QQ浏览器、360极速浏览器、遨游浏览器。禁止用户脱机浏览
<meta http-equiv="Pragma" content="no-cache">
优化移动设备浏览器的显示,比如手机浏览,如果不是响应式网站,不使用initial-scale或者禁用缩放。
<meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=no"/>
针对不识别Viewport的手持设备进行优化
<meta name="HandheldFriendly" content="true">
强制竖屏
<!- - QQ强制竖屏 -->
<meta name="x5-orientation" content="portrait">
文档声明的作用?严格模式和混杂模式指什么?<!doctype html> 的作用?
HTML中文档声明指的是 ,必须是 HTML 文档的第一行,位于 <html> 标签之前,加上doctype声明,让浏览器使用标准模式——这就是它的作用。
严格模式:又称标准模式,是指浏览器按照 W3C 标准解析代码。
混杂模式:又称怪异模式或兼容模式,是指浏览器用自己的方式解析代码。
怎么区分:
浏览器解析时到底使用严格模式还是混杂模式,与网页中的 DTD 直接相关。
- 如果文档包含严格的 DOCTYPE ,那么它一般以严格模式呈现。(严格 DTD ——严格模式)
- 包含过渡 DTD 和 URI 的 DOCTYPE ,也以严格模式呈现,但有过渡 DTD 而没有 URI (统一资源标识符,就是声明最后的地址)会导致页面以混杂模式呈现。(有 URI 的过渡 DTD ——严格模式;没有 URI 的过渡 DTD ——混杂模式)
- DOCTYPE 不存在或形式不正确会导致文档以混杂模式呈现。(DTD不存在或者格式不正确——混杂模式)
- HTML5 没有 DTD ,因此也就没有严格模式与混杂模式的区别,HTML5 有相对宽松的语法,实现时,已经尽可能大的实现了向后兼容。( HTML5 没有严格和混杂之分)
浏览器乱码的原因是什么?如何解决?
一般来说,有以下三个原因
- 比如网页源代码是gbk的编码,而内容中的中文字是utf-8编码的,这样浏览器打开即会出现html乱码。反之网页是编码utf-8,内容是gbk也会出现乱码。
解决方法:使用软件进行编辑HTML网页内容,推荐使用WebStorm软件进行HTML代码编辑和开发。 尽量不要直接使用记事本进行编辑HTML代码。 - html网页编码是gbk,而程序从数据库中调出呈现是utf-8编码的内容也会造成编码乱码。
解决方法:如果网页设置编码是gbk的,而数据库储存数据编码格式是UTF-8的,这个时候程序查询数据库数据显示数据前进程序转码即可。 - 浏览器不能自动检测网页编码,造成网页乱码。
解决方法:这个可能是你网页没有设置meta charset编码造成。导致浏览器不能识别你网页默认编码类型。在网页空白处点击鼠标右键,即可选择“编码,将编码改为UTF-8。
常见的浏览器有哪些,什么内核?
- Trident内核——IE、傲游、世界之窗浏览器、Avant、腾讯TT、Netscape 8、NetCaptor、Sleipnir、GOSURF、GreenBrowser和KKman等。
- Gecko内核——Firefox、Netscape6至9。
- WebKit内核——Safari、Chrome。
- Presto内核——OperaPresto。
列出常见的标签,并简单介绍这些标签用在什么场景
- div 分区块
- a 链接
<a href="#">链接文字</a>
- img 图片
![](图片链接)
- h1-~h6 标题
<h1>我是标题</h1>
- p 段落
<p>我是段落</p>
行级元素&块级元素
行级元素:span ,a
块级元素:独占一行div,p,h