網頁制作poluoluo文章簡介: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>
我覺得對我來說是一個合乎邏輯的下一步。因此,看看這個示范文件,我已經采取了HTML5元素為我的命名約定的基礎。除了我剛才提到的,留意,我已經確定了分類和導航的方式(nav ),用colgroup和col構建字段 ,把一個無序列表轉換為網格,用datagrid。
HTML5的標記規范還包括details , dialog和figure ,我同樣地可以當做屬性值使用。
如果今天我可以實現一個願望,這個願望將是所有的CSS框架的開發將采取相同的命名約定(而且也廣泛地嵌入微格式),以便初學意義豐富的標記和CSS的人們有個正確的出發點,使用的更有意義,更合邏輯,而不是表象的id和class屬性。