优化你的代码—语义化、结构化

无论何时请保持良好的书写习惯。为提高代码可读性、为后期维护提供方便、提高与同事之间的合作水平等诸多好处,全民普及代码语义化,特转此文以飨读者。

关于DIVCSS网页布局中的命名问题,我们在52CSS.com中不止一次的提及,很多内容对此进行的阐述和讲解。一般而言,CSS类名的语义化声明方式应当考虑你的页面中某个相对元素的”用意”,独立于它的”定位”或确切的特性(结构化方式)。像left-bar, red-text, small- title…这些都属于结构化定义的例子。
  您还可以参考下面的文章:
  CSS代码结构初探:如何为id及class类命名?
  
http://www.52css.com/article.asp?id=403
  CSS规范化命名的重要性及三种通用命名规则
  
http://www.52css.com/article.asp?id=488
  CSS网页布局经验:富有语义地类class和id标记命名
  
http://www.52css.com/article.asp?id=709
  参考:div+css命名规范
  
http://www.52css.com/article.asp?id=55
  让我们看看下面这个例子:

  而现在我们想把页面中的元素调换一下位置,如果你使用的是结构化方式(1),那么你就要把所有CSS类名重新进行定义,因为它们的位置变了。在布局 (3)中,我们看到元素都倒转了: right-bar 现在成了 “left-bar”,而 left-content 成了 “right- content”。如果你使用语义化方式则避免了此类问题。

  换句话说,使用语义化方式的话,你在修改网站布局的时候可以仅仅修改相关CSS类的属性即可,而不用修改它们的类名了,如果网站的代码很庞大,这将节省大量的时间。
  关于语义化的一些建议:
  在开始之前,我想推荐两种简单的编写较好的CSS代码的指导方针:
  为CSS类名定义的时候,尽量使用小写字母,如果有两个以上的单词,在每个单词之间使用”-”符或单词首字母大写(第一个单词除外)。如:”main-content”或”mainContent”。
  优化CSS代码,仅创建关键主要的CSS类并重新为子元素使用符合HTML标准的标签(h1, h2, p, ul, li, blockquote,…),例如,不要使用这种哦你那个方式:
程序代码 程序代码

<div class=”main”>
    <div class=”main-title”>…</div>
    <div class=”main-paragraph”>…</div>
</div>

  而要这样写:
程序代码 程序代码

<div class=“main”>
    <h1>…</h1>
    <p>…</p>
</div>

  三栏布局中使用语义化方式的例子
  让我们来通过这个简单的例子讲解一下如何为经典的三栏布局使用语义化方式命名:

  使用语义化方式为CSS命名可以像这样:
程序代码 程序代码

#container{…}
/*—- Top section —-*/
    #header{…}
    #navbar{…}
    /*—- Main —-*/
    #menu{…}
    #main{…}
    #sidebar{…}
    /*—- Footer —-*/
    #footer{…}

Container
  “#container“ 就是将你页面中的所有元素包在一起的部分,这部分你还可以命名为: “wrapper“, “wrap“, “page“.
Header
  “#header” 是网站页面的头部区域,一般来讲,它包含网站的logo和一些其他元素。这部分你还可以命名为:”top“, “logo“, “page-header” (或 pageHeader).
Navbar
  “#navbar“等同于横向的导航栏,是最典型的网页元素。这部分你还可以命名为:“nav”, “navigation”, “nav-wrapper”.
Menu
  “#Menu”区域包含一般的链接和菜单,这部分你还可以命名为: “sub-nav “, “links“.
Main
  “#Main”是网站的主要区域,如果是博客的话它将包含你的日志。这部分你还可以命名为: “content“, “main-content” (or “mainContent”)。
Sidebar
  “#Sidebar” 部分可以包含网站的次要内容,比如最近更新内容列表、关于网站的介绍或广告元素等…这部分你还可以命名为: “sub-nav“, “side-panel“, “secondary-content“.
Footer
  “#Footer”包含网站的一些附加信息,这部分你还可以命名为: “copyright“.


[本日志由 Kaman 于 2009-05-03 03:22 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
you can:创建我的帐号.