轉載:http://www.cnblogs.com/xiyangbaixue/p/3962038.htmlcss
不管多少人開發一個項目,規範是最初始也是最基本的,一個好的規範不只讓代碼看起來完美也可以解決衝突。下面是我在開發時使用的css規範html
1 <div class="demo-shopping"> 2 <h2 class="demo-shopping-title">title</h2> 3 <p class="demo-shopping-body">hello world!</p> 4 </div>
上面的代碼中,模塊的名爲 shopping,模塊最外層使用 {命名空間}-{模塊名}
的方式命名 Class。模塊子元素以在此基礎上進行命名。若是不繼承父級的類名,很容易形成命名衝突。模塊化
<p>
;是標題的,就用 <h1>~<h6>
;是引用的,就用 <blockquote>
, 而不是簡單粗暴的用 <div>
、<span>
。語義化的目的,一方面是抽去 CSS 之後,頁面仍是一個結構良好、可讀的頁面;另外一方面,這也是 SEO 的最基本要求。1 /* 推薦寫法 */ 2 .demo-shopping { 3 4 } 5 .demo-shopping-body { 6 7 } 8 /* 不推薦寫法 */ 9 .demo-shopping .demo-shopping-body {}
1 <div class="demo-shopping demo-shopping-active"> 2 <h3 class="demo-shopping-title"></h3> 3 <p class="demo-shopping-content"></p>< 4 /div>
但不要這樣寫(效率更低):
1 <div class="demo-box"> 2 <h3 class="demo-shopping-title demo-shopping-title-active"></h3> 3 <p class="demo-shopping-content demo-shopping-content-active"></p> 4 </div>
demo-tab
、demo-nav
,不要使用 red
、left
等表象的詞命名。{命名空間}-{模塊名}-{狀態描述}
{命名空間}-{模塊名}-{子模塊名}
1 <ul class="demo-nav"> 2 <li class="demo-nav-item"> 3 <a href="#">nav</a> 4 <ul class="demo-subnav"> 5 <li class="demo-subnav-item"> 6 <a href="#">subNav</a> 7 <ul class="demo-list">