- Name CSS class in a semantic approach
 - Use lowercase characters to define your class and use "-" or camelCase (ex. "main-content", or "mainContent) to separate multiple words
 - Optimize CSS code creating only the main classes and reusing HTML standard tags for child elements (h1, h2, p, ul, li, ...)
 - When assigning a class or id, ask yourself “What is this element for?"
 - Avoid using names that rely on locational or visual aspects of the particular element
 - Use names that are intuitive to you
 - Use a proper/good CSS framework
 - Reference top web sites or big companies
 
Examples
- container/wrapper/page/main/box 
 - header
 - navbar/nav
 - menu/sidebar/subnav/secondary-content
 - main/content/main-content
 - sidebar/sidepanel/subnav
 - footer
 
http://woork.blogspot.com/2008/11/css-coding-semantic-approach-in-naming.html
http://sixrevisions.com/css/css-tips/css-tip-2-structural-naming-convention-in-css
http://www.stuffandnonsense.co.uk/archives/naming_conventions_table.html
Updates: (5/9/2012)
Today I joined a webcast from O'Reilly about jquery Mobile, the demo showed some very straightforward html codes with data-role attribute.jQuery mobile also uses semantic names for these data roles, for instance
data-role="header"
data-role="footer"
data-role="page"
data-role="content"
data-role="navbar"
data-role="content"
Then I looked at HTML new semantic tags
<article>
<aside>
<header>
<footer>
<nav>
<section>
With these trends (standards), we should start to define page structure and name CSS class in a semantic way.

No comments:
Post a Comment