一、HTML、XML、XHTML 有什么区别
- html即是超文本标记语言(Hyper Text Markup Language),是最早写网页的语言,但是由于时间早,规范不是很好,大小写混写且编码不规范;
- xhtml即是升级版的html(Extensible Hyper Text Markup Language),对html进行了规范,编码更加严谨纯洁,也是一种过渡语言,html向xml过渡的语言;
- xml即时可扩展标记语言(Extensible Markup Language),是一种跨平台语言,编码更自由,可以自由创建标签。
- 网页编码从html>>xhtml>>xml这个过程发展。
html与xhtml之间的区别:
可以参考这个网页:http://www.dreamdu.com/xhtml/html_xhtml/
1、xhtml对比与html,xhtml文档具有良好完整的排版,体现在两方面:a、元素必须要有结束标签;b、元素必须嵌套;
2、对于html的元素和属性,xhtml必须小写,因为xml是严格区分大小写的,<li>和<LI>是不同的标签;
3、 xhtml的属性值必须在引号之中;
4、xhtml不支持属性最小化,什么是属性最小化了? 正确:非最小化属性(unminimized attributes) <input checked="checked"> 不正确:最小化属性(minimized attributes) <input checked>
5、在xhtml中,name属性是不赞成使用的,在以后的版本中将被删除。
再说说为什么网页编码要从html>>xhtml>>xml这么发展?
话说早起的网页使用html语言编写的,但是它拥有三个严重的缺点:
1、编码不规范,结构混乱臃肿,需要智能的终端才能很好的显示;
2、表现和结构混乱,不利于开发和维护;
3、不能使用更多的网络设备,比如手机、PDA等;
因此HTML需要发展才能解决这个问题,于是W3C又制定了XHTML,XHTML是HTML向XML 过度的一个桥梁。而xml是web发展的趋势。
二、怎样理解 HTML 语义化
语义化的含义就是用正确的标签做正确的事情,html语义化就是让页面的内容结构化,便于对浏览器、搜索引擎解析;在没有样式CCS情况下也以一种文档格式显示,并且是容易阅读的。搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,利于 SEO。使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。
三、怎样理解内容与样式分离的原则
1)网页分离
一个网页分为三个部分:Html——结构,css——表现,javascrip——行为。内容也就是html,样式也就是css。所以内容和样式的分离,就是指在网页编码的过程中,要将html和css两大部分分开。
2)如何实现
内容与样式分离的原则的实现,一个是要依靠意识,另一个是依靠经验。
举例而言,面对一个分块明显的网页设计图时:
-初级的开发人员思路及制作方法:div 层层嵌套;
-中级的开发人员思路及制造方法:去掉多余的 div ,进行简化;
-高级的开发人员思路及制造方法:最大化的简化 html 的结构,然后用 css 进行设置,减少 html 与 css 的契合度。
正确做法是写HTML的时候先不管样式,重点放在HTML的结构和语义化上,让HTML能提现页面结构或者内容,,然后进行 css 样式设置,减少 HTML 与 CSS 契合度(即内容与样式分离) ,写JS的时候,尽量不要用JS去直接操作样式,而是通过给元素添加删除class来控制样式变化(即行为分离)。
3)分离原则的优点
-浏览器加载网页页面速度变快。分离原则下,大部分页面代码写在了CSS当中,页面体积容量变得更小。
-网页修改设计时,效率、省时。根据html标签内ID或class的标记,到CSS里找到相应的ID或class,可以快速替换指定位置的样式,不会破坏页面架构和其他部分的样式。
-典型的应用就是网页换肤,使用相同的 html 结构,不同的 css 样式。
-更好地被搜索引擎收录。基于内容与样式分离的原则,html的语义化就是首要考虑的,网页中语义化的标签代码就会更加适合搜索引擎。
-css样式的分离,它可以根据不同的浏览器,达到显示效果的统一。保证网页架构不变形的前提下,放心在不同浏览器渲染显示样式。
转自[饥人谷_huangyh_max]
四、有哪些常见的meta标签
** <meta> 标签永远位于 head 元素内部;<meta>标签有两个属性name和http-equiv。**
1、指定字符集:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
2、向搜索引擎说明你的网页的关键字:
<meta name="keywords" content="关键字"/>
3、告诉搜索引擎你的站点的主要内容:
<meta name="description" content=""/>
4、告诉搜索引擎你的站点的制作的作者:
<meta name="author" content=""/>
5、定时让网页在指定的时间n内跳转
<meta http-equiv="refresh" content="n;url="/>
6、勇于设定网页的到期时间,一旦过期则必须到服务器上重新调用,需要注意的是必须使用GMT时间格式:
<meta http-equiv="expires" content="Mon,12 May 2010 00:00:00 GMT"/>
7、禁用缓存:
<meta http-equiv="pragma" content="no-cache"/>
8、cookie设定,如果网页过期,存盘的cookie将会被删除,需要注意的是也必须使用GMT时间格式:
<meta http-equiv="set-cookie" content="Mon,12 May 2010 00:00:00 GMT" />
五、文档声明的作用?严格模式和混杂模式指什么?<!doctype html> 的作用?
** 文档声明的作用**
文档声明是为了告诉浏览器,你的 HTML 文档是用的什么版本的 HTML 来写的,这样浏览器才能按照你声明的版本来正确的解析你的 HTML 文档。
严格模式和混杂模式指什么
严格模式(推荐)现在也称为标准模式,在该模式下,浏览器会严格按照 HTML 和 CSS 标准来解析、渲染你的文档。
混杂模式(不推荐)的由来是一个历史问题。在互联网早期,网页一般写成两个版本:一个写给网景公司的 Navigator浏览器,一个写给微软公司的IE浏览器。当W3C制定了 Web 标准后,这两个浏览器不能马上开始按标准来解析渲染页面,因为这样会破坏当时大部分页面的显示效果。所以各浏览器就引入了混杂模式,在该模式下,浏览器会模拟Navigator 4和IE5的非标准行为来解析渲染页面,这样做就是为了兼容在W3C标准出现之前就存在的那些“不标准”的页面。
<!doctype html> 的作用
<!doctype html> 的作用就是让浏览器进入标准模式,使用最新的 HTML5标准来解析渲染页面;如果不写,浏览器就会进入混杂模式,而这是我们要避免的。
浏览器乱码的原因是什么?如何解决
原因是因为在编写代码的时候,你没有选择编码<meta charset="xxx">,即浏览器应该用什么字符集来解析你上面的文字,那浏览器不知道,他就只能猜,如果你保存的你的HTML编码为utf-8,而浏览器选择了gbk来解析,那就出现了乱码。
所以要解决的话,就需要在我们写代码的时候写上<meta charset="utf-8">
告诉浏览器,你不用猜了,用这个来解析就对了。
六、常见的浏览器有哪些,什么内核
chrome、Safari、360极速浏览器以及搜狗浏览器高速模式使用WebKit内核
IE、猎豹、360、搜狗、傲游、世界之窗、Avant、腾讯TT使用Trident内核,又称为IE内核。
Firefox、Netscape6至9使用Gecko内核。
Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用Blink内核。
列出常见的标签,并简单介绍这些标签用在什么场景
标签 | 使用场景 |
---|---|
<html>...</html> |
定义了文档的开始点和结束点 |
<head>..</head> |
定义文档的头部,其中的元素可以引用脚本、指示浏览器在哪里找到样式表、提供元信息等等 |
<title>..</title> |
定义文档标题 |
<meta>..</meta> |
提供有关页面的元信息 |
<body>..</body> |
定义文档的主体,包含文档的所有内容 |
a..../a |
定义超链接 |
<img> |
图片 |
<h1>-<h6> |
定义标题 |
<p>..</p> |
段落 |
<ul>..</ul> |
定义无序列表 |
<ol>..</ol> |
定义有序列表 |
<li>...</li> |
定义列表项目 |
<div>..</div> |
定义文档中的分区或节 |
<em>...</em> |
强调 |
<strong>..</strong> |
语气更强的强调 |
<span>..</span> |
定义文档中的一小节 |
<table>..</table> |
定义表格 |
<tr>..</tr> |
定义表格中的行 |
<hr /> |
创建一条水平线 |