Layout.css

布局是网站最核心的内容组织方式,Cube 提供了一系列灵巧的布局方案(兼容 IE6+ 等主流浏览器), 如下将一一介绍,当然只需要引入 Cube 样式:

Cube 托管于强大的阿里 CDN 上,提供 https 支持,只需按如下方式引入便可自适应协议。

<link rel="stylesheet" href="//g.alicdn.com/thx/cube/1.3.2/cube.min.css">

从 1.3.2 版本开始,可以直接使用 NPM 来管理。

npm install --save cube.css

inline-block 组件

让元素以 inline-block 呈现在文档流中,加上 dib 的 class 即可:

<span class="dib span3">他出一對雞,我出一個鵝,閑快活。。</span>
<div class="dib span7">南畝耕,東山臥,世態人情經歷多。閑將往事思量過。賢的是他,愚的是我,爭什麽。</div>

将输出:

他出一對雞,我出一個鵝,閑快活。。

南畝耕,東山臥,世態人情經歷多。閑將往事思量過。賢的是他,愚的是我,爭什麽。

提到 inline-block 就让人想到浮动与浮动清除,当我们想以 inline-block 来替代浮动时,又会头疼空隙问题, 幸运的是,Cube 帮你 做到了这些,只需要在上面的 dib 的元素外套一层 dib-box 即可:

<div class="dib-box">
  <div class="dib span3">Hey, I became inline block now.</div>
  <p class="dib span3">Hey, I became inline block now.</p>
</div>

将输出:<div class="dib-box">

Hey, I became inline block now.

Hey, I became inline block now.

</div>

注意,这里 dib-box 内部的 dib 的 font-size 会被重置为 12px,在使用过程中可以从内部继承和覆盖成为你需要的。

自适应两端对齐组件

该组件依赖于上面的 inline-block 方案,使用时外层加上 justify,内部需要两端对齐的元素都加上 dib, dib 与 justify 不要同时出现:

<div class="justify">
    <span class="dib"></span><span class="dib"></span><span class="dib"></span>
</div>

将输出:

更多示例,请移步

CSS 三角形组件

Cube 提供了丰富的三角形效果, 如:

  • 上三角: arrow-top
  • 下三角: arrow-bottom
  • 左三角: arrow-left
  • 右三角: arrow-right
  • 左上角: arrow-left-top
  • 右上角: arrow-right-top
  • 左下角: arrow-left-bottom
  • 右下角: arrow-right-bottom
<div class="justify box-num">
  <span class="dib">
    <span class="arrow arrow-top"></span>
  </span>
  <span class="dib">
    <span class="arrow arrow-bottom"></span>
  </span>
  <span class="dib">
    <span class="arrow arrow-left"></span>
  </span>
  <span class="dib">
    <span class="arrow arrow-right"></span>
  </span>
  <span class="dib">
    <span class="arrow arrow-left-top"></span>
  </span>
  <span class="dib">
    <span class="arrow arrow-right-top"></span>
  </span>
  <span class="dib">
    <span class="arrow arrow-left-bottom"></span>
  </span>
  <span class="dib">
    <span class="arrow arrow-right-bottom"></span>
  </span>
</div>

将输出:<div class="justify box-num"> </div>

替换元素等比缩放组件

主要用于视频网站,不同的视频网站由于控制栏高度不同,需要 JS 配合添加对应的 class。

常见的视频比例有:

  • 宽屏 16:9 = 56.25%
  • 窄屏 4:3 = 75%

使用方案:

<div class="fluid-media">
  <embed class="widescreen" src="" type="">
</div>

<div class="fluid-media">
  <embed class="narrowscreen" src="" type="">
</div>

注意,这里的 .fluid-media 元素是 relative,所以实际使用中需要对齐写高度。

截至目前,Cube 统计了如下网站的控制栏高度:

  • 优酷
  • 我乐 56.com
  • 土豆
  • 爱奇艺
  • Youtube
<div class="fluid-media">
  <embed class="youku" src="" type="">
</div>

<div class="fluid-media">
  <embed class="wole" src="" type="">
</div>

<div class="fluid-media">
  <embed class="tudou" src="" type="">
</div>

<div class="fluid-media">
  <embed class="iqiyi" src="" type="">
</div>

<div class="fluid-media">
  <embed class="youtube" src="" type="">
</div>

将输出:

未知高度垂直居中组件

网站中,尤其图片类型网站,图片垂直居中是常见的场景,Cube 给出了一套兼容性良好的图片垂直居中方案,该方案同时支持单行、多行文字,以及图文混排:

<div class="center-box">
  <b class="center-hack"></b>
  <div class="center-content">
    <div class="center-img">
      <img width="100%" src="http://cyj.me/assets/img/2013-new-york/IMG_0770.jpg" alt="自由女神像,来自 cyj.me">
    </div>
    <p>适意行,安心坐,渴时饮饥时餐醉时歌,困来时就向莎茵卧。日月长,天地阔,闲快活!。</p>
  </div>
</div>

将输出:

自由女神像,来自 cyj.me

适意行,安心坐,渴时饮饥时餐醉时歌,困来时就向莎茵卧。日月长,天地阔,闲快活!。

(栅格、常用布局解决方案、如何 Mobile First 等)