CSS工程化

2017-01-03  本文已影响243人  xiayujlu

目的

CSS reset和normalize.css

CSS模块

CSS模块原则

/* bad example */
.error-massage{
      display:block;
      padding:10px;
      border-top:1px solid #f00;
      border-bottom:1px solid #f00;
      background-color:#fee;
      color:#f00;
      font-weight:bold;
}
.success-massage{
      display:block;
      padding:10px;
      border-top:1px solid #f00;
      border-bottom:1px solid #f00;
      background-color:#efe;
      color:#0f0;
      font-weight:bold;
}
/* better example */
.box{
      display:block;
      padding:10px;
}
.massage{
      border-top:1px solid #f00;
      border-bottom:1px solid #f00;
      font-weight:bold;
}
.massage-error{
      background-color:#fee;
  color:#f00;
}
.massage-success{
      background-color:#efe;
      color:#0f0;
}
.box{
      display:block;
      padding:10px;
}  
/* bad example */
.content .box{
      padding:20px;
}
/* better example */
.box-large{
      padding:20px;
}
/* bad example */
selector{
      border-top:1px solid #eee;
      border-left:1px solid #eee;
      border-bottom:1px solid #eee;
}
/* better example */
selector{
      border:1px solid #eee;
      border-right:none;
}

命名Naming

命名原则

命名规范

BEM

<!-- Block(moudle/compuent) --> 
 <nav class="tabs">
 </nav>
<!-- Element --> 
      <a href="#" class="tabs_items">HTML</a>
      <a href="#" class="tabs_items">CSS</a>
      <a href="#" class="tabs_items">JavaScript</a>
<!-- Modifer(修饰) --> 
 <nav class="tabs tabs--stacked">
        <a href="#" class="tabs_items tabs_items--active">HTML</a>
 </nav>
  <!-- .block__element---modifer--> 
<nav class="tabs tabs--stacked">
      <a href="#" class="tabs_items tabs_items--active">HTML</a>
      <a href="#" class="tabs_items" class="tabs-items">CSS</a>
      <a href="#" class="tabs_items">JavaScript</a>
  </nav>

编写简洁易维护的CSS代码

CSS预处理器

上一篇 下一篇

猜你喜欢

热点阅读