日期:2013-12-31  浏览次数:20671 次

网页制造aiyiweb文章简介:HTML5 发展中的命名商定和微格式。

2004年5月29日,在我退休的博客和所有的大话 ,当我调查40个设计师的网站,看看他们为公共页面元素使用的商定,如标题和横幅,导航,内容和页脚(那时候的结果 )。

这几乎不是科学研讨,但在那年6月,我跟进了Eric Meyer的一些意见 ,并出版了一套命名商定。当我发现一个网站曾经通过了这些命名商定时,我总是很快乐,我任然每一天都在用,甚至超过4年后的每一天。

那时候我的想法可以概括成这样

id和class属性名称必须反映元素的功用或内容,而不是反映了引见。 所以出了header并再来branding; 出了footer并再取而代之的是site-info。

Naming should take on almost an XML style structure.命名将要承担几乎整个XML式结构。因此,内部content来了 content-main , content-sub 和 content-supp 。

这些商定为我服务的很好,我所做的,几乎没有改变他们的核心。毫无疑问,他们都使我的任务速度更快,更分歧和更无益。 他们使建立产品更容易,以及更容易用我的思维方式培养与我同事的人 。命名商定起作用。

微格式和相关的属性名称
 
让我们面对它,微格式,如hCard,hCalendar,hAtom和其他草案带来了如此多的属性值,以致于常常没有必要考虑哪一个构建文件或提供了哪一个约束CSS模式的挂钩这些更多的属性值。如今我使用微格式达到这种程度,以致于我甚至不使用class属性(微格式伴随的class属性除外)发展整个页面。

在难得的场合,我需求添加一个新元素(假设规划目的的一个划分)我首先想到的是延伸微格式中曾经存在的。我将给您举个使用hAtom模式的例子:


<div class="hentry">
<h2 class="entry-title">Title</h2>

<div class="entry-content">
Main content
</div>

<div class="entry-related">
Related content
</div>
</div>

如果您正在保持微格式的优势,你曾经留意到, entry-related不是 hAtom 模式的一部分,但在这种的情况下,我绝对地,明确地不得不有一个额外的要素,如何组成一个像related-sidelinks这样的属性值呢?

什么时候延伸微格式的命名模式看起来更合逻辑呢?

HTML5

在这个章节的开始,我应该坦率的说,此时此刻,我对HTML5的关注不能较少。不过,这不是问题的关键。HTML5引入了一些潜在的非常有用的新元素,例如:

section

一个普通的文件或使用程序部分。章节 ,在这方面,是内容的一个主题分类。

article

由文章组成的页面的一部分,构成文档、网页或网站的一个独立部分。 This could be a forum post, a magazine or newspaper article, a Web log entry, a user-submitted comment, or any other independent item of content.这可能是一个论坛,杂志,报纸文章,网络日志,用户提交的评论,或任何其他的内容的独立项目。

aside

由内容组成的页面的一部分,与aside 元素相关的内容无关,并可以被认为是从内容中分离出来的。 这些部分,经常表现为印刷排版侧边栏。

As it was logical for the inventors of Microformats to base their schemas on existing specifications, surely it now makes sense for me to adapt my naming conventions to follow those in HTML5?由于对微格式的发明者来说,在现有的规范上发展他们的模式是合乎逻辑的,当然,如今对我以顺应我的命名商定去跟随HTML5很有意义?当然,我还不能使用:


<section>
<h2> Title</h2>

<article>
Main content
</article>

<aside>
Related content
</aside>
</section>

但如今我可以使用id和class属性值来协助我熟悉的HTML5,带着我的文档朝它更进一步。


<div class="section">
<h2> Title</h2>

<div class="article">
Main content
</div>

<div class="aside">
Related content
</div>
</div>

我觉得对我来说是一个合乎逻辑的下一步。因此,看看这个示范文件,我