CSS代碼命名慣例語義化的方法

來源:互聯網
上載者:User
文章目錄
  • CSS類命名的語義化VS結構化方式
  • 關於語義化的一些建議:
  • 三欄布局中使用語義化方式的例子
CSS類命名的語義化VS結構化方式

  一般而言,CSS類名的語義化聲明方式應當考慮你的頁面中某個相對元素的”用意”,獨立於它的”定位”或確切的特性(結構化方式)。像left-bar, red-text, small-title…這些都屬於結構化定義的例子。

讓我們看看下面這個例子:

  …而現在我們想把頁面中的元素調換一下位置,如果你使用的是結構化方式(1),那麼你就要把所有CSS類名重新進行定義,因為它們的位置變了。在布局(3)中,我們看到元素都倒轉了: right-bar 現在成了 “left-bar”,而 left-content 成了 “right-content”。如果你使用語義化方式則避免了此類問題。

  換句話說,使用語義化方式的話,你在修改網站布局的時候可以僅僅修改相關CSS類的屬性即可,而不用修改它們的類名了,如果網站的代碼很龐大,這將節省大量的時間。

  彬Go會經常更新前端開發/網頁設計等相關技術及教程文章,歡迎訂閱本部落格來及時瀏覽本部落格的最新教程及資源。

關於語義化的一些建議:

  在開始之前,我想推薦兩種簡單的編寫較好的CSS代碼的指導方針:

  1. 為CSS類名定義的時候,盡量使用小寫字母,如果有兩個以上的單詞,在每個單詞之間使用”-”符或單字首大寫(第一個單詞除外)。如:”main-content”或”mainContent”。
  2. 最佳化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{…}

  1. Container
    #container“ 就是將你頁面中的所有元素包在一起的部分,這部分你還可以命名為: “wrapper“, “wrap“, “page“.
  2. Header
    “#header” 是網站頁面的頭部地區,一般來講,它包含網站的logo和一些其他元素。這部分你還可以命名為:”top“, “logo“, “page-header” (或 pageHeader).
  3. Navbar
    #navbar“等同於橫向的導覽列,是最典型的網頁元素。這部分你還可以命名為:“nav”“navigation”“nav-wrapper”.
  4. Menu
    “#Menu”地區包含一般的連結和菜單,這部分你還可以命名為: “sub-nav “, “links“.
  5. Main
    “#Main”是網站的主要區域,如果是部落格的話它將包含你的日誌。這部分你還可以命名為: “content“, “main-content” (or “mainContent”)。
  6. Sidebar
    “#Sidebar” 部分可以包含網站的次要內容,比如最新動向內容列表、關於網站的介紹或廣告元素等…這部分你還可以命名為: “sub-nav“, “side-panel“, “secondary-content“.
  7. Footer
    “#Footer”包含網站的一些附加資訊,這部分你還可以命名為: “copyright“.

如果您對CSS代碼”語義化”有任何意見,歡迎在此發表您的觀點。

轉載聲明:
原載:彬Go
本文連結:http://blog.bingo929.com/css-coding-semantic-naming.html

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.