按照元素的默认表现形式还可以分为:块、行内(内联)、内联块3类元素。
、
使用HTML5风格编写html文件时通过DOCTYPE告知客户端应该怎样解析文档,而HTML直接为 'html', 比如下列例子。
html5有许多基于结构的元素是来替代div功能或者部分替代功能。所以使用html5时应该遵守的原则:自圆其说,不勉强。
依据html5规范,一个经典的页面设计如上图。
先从header说起:header一般包含标题和副标题等。当有多个标题时需要使用hgroup将元素包裹。
而nav主要的内容为本站的导航信息和介绍性内容。通过使用ol、ul组成路径集合。其他介绍性元素还可以使用有hgroup、h包裹。
article元素描述页面实际内容,可以使用hgroup、h,或者section、h、p进一步结构化内容,。当然添加header、footer都是可以的。
section元素描述分组内容信息。在正文需要分组时可以使用。而内容信息还宽裕通过媒体元素(audio、video)描述。embed经常被用来描述flash内嵌内容。当内容需要被描述时,可以使用figure描述与内容有关的信息。
aside描述与正文不相干的附属信息,一些文章的注意信息或者网站小工具可以通过aside来描述。footer就是页脚信息。
这一部分更详细的内容可以看 shyleoking 、 IBMDW
html5为了语义化增补这么多内容,那么语义化到底是什么呢?
Web语义化简单来说就是为了让机器可以理解数据内容,从而提升人类使用网络获取信息的体验。除了web语义化外,还可以通过人工智能AI来增强机器对于数据的理解。随着email发展的文档模型(BOM、DOM)是方便人类阅读的,要使机器能够理解,从数据到表述的本体的映射,就要使用web语义化。(Hypertext是在文本协议上扩展文档关系的能力)
HTML规范其实一直在往语义化的方向上努力,许多元素、属性在设计的时候,就已经考虑了如何让各种用户代理甚至网络爬虫更好地理解HTML文档。就像上文描述,HTML5更是在之前规范的基础上,将所有表现层(presentational)的语义描述都进行了修改或者删除,增加了不少可以表达更丰富语义的元素。
更多理解可以看知乎 问答
搜索引擎就算通过网络爬虫来抓取网站信息并建立索引。比如google的robot和百度的baiduspider。而搜索引擎优化(SEO)是网站相关工作人员用来提高搜索引擎的爬取水平、提高网站排名。这有分为白帽方法和黑帽方法。白帽方法企图发现并纠正使得排名不好的错误,使得对搜索引擎和用户更加友好。比如优化图形内容、包括ALT属性和增加文本说明。
搜索引擎一般都会发布相关指南,文档内包含遵循搜索引擎哪些可接受哪些不能接受的指导方针。
比如百度的 百度搜索引擎优化指南 :
google也发布了 谷歌搜索引擎优化初学者指南 :
上述都属于白帽方法,而黑帽方法利用和放大搜索引擎的策略缺陷(实际上完美的系统是不存在的)获取更多用户访问量。这也是web开发不提倡的。
总之白帽、黑帽的判断方法,就是你做这个东西是否对用户有价值。
上述还说道搜索引擎对于AJAX的信息抓取。百度好像是不支持抓取,而google已经支持抓取了。而我们可以通过html的history API来让搜索引擎获取单页网页更新内容。具体可以看ruanyifeng的 文章