ns

notes

View on GitHub

CSS 高级实用技巧

核心

双飞翼

<!-- float布局 -->
<html>
  <head>
    <style>
      .left {
        width: 300px;
        margin-left: -100%;
        float: left;
      }
      .middle {
        width: 100%;
        float: left;
      }
      .middle .inner {
        margin-left: 300px;
      }
      .right {
        width: 200px;
        margin-left: -200px;
        float: left;
      }
    </style>
  </head>
  <body>
    <div class="middle">
      <div class="inner">middle</div>
    </div>
    <div class="left">left</div>
    <div class="right">right</div>
  </body>
</html>

BFC(块级渲染方式)

OO(面向对象) CSS

将⻚⾯可重⽤元素抽象成⼀个类, ⽤ Class 加以描述, 与其对应的 HTML 可看成是此类的⼀个实例

CSS 分层

有助于扩展, 性能提⾼, 组织管理

SMACSS

修饰符使⽤的是–,⼦模块使⽤__符号

div(class="container")
  div(class="container-header")
    div(class="container-header__title")
      h1(class="container-header__title--home")

BEM

修饰符使⽤的是_,⼦模块使⽤__符号

ul(class="menu")
  li(class="menu__item")
  li(class="menu__item_state_current")
  li(class="menu__item")

SUIT

修饰符使⽤的是—,⼦模块使⽤__符号

.u-utility {
}
.ComponentName {
}
.ComponentName--modifierName {
}
.ComponentName-descendantName {
}
.ComponentName.is-someState {
}

ACSS

原子性

.m-10 {
  margin: 10px;
}
.w-50 {
  margin: 50%;
}

ITCSS