HTML、XML、XHTML 有什么区别
1、html即是超文本标记语言(Hyper Text Markup Language),是最早写网页的语言,但是由于时间早,规范不是很好,大小写混写且编码不规范;
2、xhtml即是升级版的html(Extensible Hyper Text Markup Language),对html进行了规范,编码更加严谨纯洁,也是一种过渡语言,html向xml过渡的语言;
3、xml即时可扩展标记语言(Extensible Markup Language),是一种跨平台语言,编码更自由,可以自由创建标签。
4、网页编码从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)
不正确:最小化属性(minimized attributes)
5、 在xhtml中,name属性是不赞成使用的,在以后的版本中将被删除。
再说说为什么网页编码要从html>>xhtml>>xml这么发展?话说早起的网页使用html语言编写的,但是它拥有三个严重的缺点:
1、编码不规范,结构混乱臃肿,需要智能的终端才能很好的显示;
2、表现和结构混乱,不利于开发和维护;
3、不能使用更多的网络设备,比如手机、PDA等;因此HTML需要发展才能解决这个问题,于是W3C又制定了XHTML,XHTML是HTML向XML 过度的一个桥梁。而xml是web发展的趋势。
怎样理解 HTML 语义化
对于当前的 Web 而言,HTML 是联系大多数 Web 资源的纽带,也是内容的载体。在 Web 被刚刚设计出来的时候,Tim Berners-Lee 可能不会想到它现在会达到的规模以及深入到我们生活的那么多方面。也许起初的想法很简单:用来发布 Web 内容和资源的索引,方便人们查看。
但是随着 Web 规模的不断扩大,信息量之大已经不在人肉处理的范围之内了。这个时候人们开始用机器来处理 Web 上发布的各种内容,搜索引擎就诞生了。再后来,人们又设计了各种智能程序来对索引好的内容作各种处理和挖掘。所以让机器能够更好地读懂 Web 上发布的各种内容就变得越来越重要。
其实 HTML 在刚开始设计出来的时候就是带有一定的「语义」的,包括段落、表格、图片、标题等等,但这些更多地只是方便浏览器等 UA 对它们作合适的处理。但逐渐地,机器也要借助 HTML 提供的语义以及自然语言处理的手段来「读懂」它们从网上获取的 HTML 文档,但它们无法读懂例如「红色的文字」或者是深度嵌套的表格布局中内容的含义,因为太多已有的内容都是专门为了可视化的浏览器设计的。面对这种情况,出现了两种观点:
1.我们可以让机器的理解能力越来越接近人类,人能看懂、听懂的东西,机器也能理解;
2.我们应该在发布内容的时候,就用机器可读的、被广泛认可的语义信息来描述内容,来降低机器处理 Web 内容的难度(HTML 本身就已经是朝这个方向迈出的一小步了)。
我画的这个图,意思是说,内容的语义表达能力和 AI 的智能程度决定了机器分析处理 Web 内容能力的高低。上面观点 1 的方向是朝着人类水平的人工智能努力,而观点 2 的方向正是万维网创始人 Tim Berners-Lee 爵士提出的美好愿景:语义网。语义网我就不多说了,简单来说就是让一切内容和包括对关系的描述都成为 Web 上的资源,都可以由唯一的 URI 定义,语义明确、机器可读。显然,两条路都的终极目标都很遥远,第一条路技术上难以实现,而第二条路实施起来障碍太多。
我画的这个图,意思是说,内容的语义表达能力和 AI 的智能程度决定了机器分析处理 Web 内容能力的高低。上面观点 1 的方向是朝着人类水平的人工智能努力,而观点 2 的方向正是万维网创始人 Tim Berners-Lee 爵士提出的美好愿景:语义网。语义网我就不多说了,简单来说就是让一切内容和包括对关系的描述都成为 Web 上的资源,都可以由唯一的 URI 定义,语义明确、机器可读。显然,两条路都的终极目标都很遥远,第一条路技术上难以实现,而第二条路实施起来障碍太多。
我认为我们当前能够看得见摸得着的 Web 语义化,其实就是在往第二条路的方向上,迈出的一小步,即对已经有的被广泛认可的 HTML 标准做改进。我们刚开始意识到,我们必须回归内容本身,将内容本身的语义合理地表述出来,再为不同的用户代理设计不同的样式描述,也就是我们说的内容与样式分离。这样我们在提供内容的时候,首先要做的就是将内容本身进行合理的描述,暂时不用考虑它的最终呈现会是什么样子。
HTML 规范其实一直在往语义化的方向上努力,许多元素、属性在设计的时候,就已经考虑了如何让各种用户代理甚至网络爬虫更好地理解 HTML 文档。HTML5 更是在之前规范的基础上,将所有表现层(presentational)的语义描述都进行了修改或者删除,增加了不少可以表达更丰富语义的元素。为什么这样的语义元素是有意义的?因为它们被广泛认可。所谓语义本身就是对符号的一种共识,被认可的程度越高、范围越广,人们就越可以依赖它实现各种各样的功能。
HTML5 并非 Web 语义唯一倚仗的规范,除了 W3C 和 WHATWG 外,还有其它的组织在为扩展、标准化 Web 语义做着贡献。只要有浏览器厂商、搜索引擎原意支持,它们的规范一样可以成为通用的基础设施。例如 microformats 社区以及 http://Schema.org** 上都有对 HTML 以及 Microdata( http://www.w3.org/TR/html5/microdata.html**) 规范的扩展词汇表,Google、Bing、Yahoo! 等搜索引擎以及各个主流浏览器都不同程度地接纳了其中定义的语义扩展,并应用在了生产中。
怎样理解内容与样式分离的原则
在 Web 开发中,所谓内容与样式分离,就是让内容的归 HTML, 样式归 CSS, 不要混着用。
为了理解为什么要把内容与样式分离,我们先来看看,在互联网早期,内容和样式混在一起是什么样。
上面这个例子,在元素 p 里,加入了字体和字体颜色这两个表示样式的属性,如果我一篇文档里有好几个段落,都要设置成这样,那我就要为每一个
加上这两个属性。是不是觉得有点麻烦?
接下来,我觉得这个字体和颜色不好看,要换成别的,那我就要找开文件,找到每一个
, 把相应的属性一个一个来更改。是不是觉得更麻烦了?麻烦的还在后面!
接下来,我这个项目里面有好几个、甚至几十个网页,都要用同样的字体和颜色,怎么办?只有一个一个去改喽!是不是瞬间觉得崩溃了?
如果把样式单独抽离出来,就不会存在上面的问题了,代码会得到精简和重用,后期的维护会变得非常简单。我只用写一个 class 的样式,就可以同时更改多个有相同 class 的元素的样式;只用一个 css 文件,就可以同时链接到多个 HTML 页面上。
这样,整套文档就变得清晰易读、易维护!
有哪些常见的 meta 标签
先说一下 元素是什么。
凡是在
元素中,不能用这几个元素 (