首先,设计你的删格.

你是要使用等宽的还是不等宽的网格列?要有多少列数?间隔和列的大小是多少?

当你回答了上面的问题你只能做出正确的网格计算。为了解决大家的困扰,我写了一篇。如果你正想学习设计一个删格系统可以读一下。

其次,你需要明确你的删格系统在不同视口的表现

当屏幕视口发生变化时你要实时重新计算列和间隔么?当间隔保持不变时,你要改变列的大小么?在明确的分界点上你要改变删格列的数量么?

你需要好好回答这些问题。在如何计算列宽和间隔宽上,这些会给你一些线索。在提到的那篇中我也写了这些要考虑的东西,你不确定这些问题的话可以参考下。

最后,你愿意在HTML里写删格类吗?.

当涉及到删格系统时,前端世界拆分出两个派系。

一派就是在HTML中写入删格类名(以Bootstrap和Foundation为代表)。我称这一派HTML删格系统。HTML像下面这样:

<div class="container">
  <div class="row">
    <div class="col-md-9">Content</div>
    <div class="col-md-3">Sidebar</div>
  </div>
</div>

第二个派系主张在CSS中创建删格。我称之为CSS 删格系统。

CSS删格系统的HTML代码相比HTML删格系统的要简单一点。对于同样的页面你需要创建的标签也会少一点。同时,你也不需要记住这些删格类名是什么:

<div class="content-sidebar">
  <div class="content"></div>
  <div class="sidebar"></div>
</div>

另一方面,CSS删格系统中的CSS更复杂。你需要仔细想清楚才能取得一个简单的解决方案(如果你从没创建过)。

我会选择什么?

许多前端大牛会选择CSS删格系统。我,也不例外,属于CSS删格派系(当然我不敢称自己是大牛)。

关于我为什么选择CSS删格系统而不是HTML删格系统,我写过,如果你感兴趣可以看下。我还写了,如果你有兴趣做个转换,这篇可以帮你从HTML删格系统迁移到CSS删格系统。 (这么多文章…

12-25 23:22