Twitter Bootstrap é incrível, mas às vezes mais simples é melhor e usar um sistema completo pode ser um pouco exagero. Você não precisa de um framework CSS flexível e responsivo rico, você só precisa de um layout de grade simples e deseja manter seu CSS enxuto .
Você quer apenas aquelas classes básicas de layout CSS, mas não está com vontade de fazer você mesmo.
Bem, se você estiver no Node.js e estiver usando a caneta com a ponta , sinta-se à vontade para usar estas linhas:
// Defaults
gridColumnCount ?= 12
gridColumnWidth ?= 60
gridPadding ?= 20
// Grid, row, cell
.l-grid
width unit(gridColumnCount * (gridColumnWidth + gridPadding), px)
margin 0 auto
.l-row
margin unit(gridPadding, px) 0
clearfix()
&.l-compact
margin 0
.l-cell
float left
display inline
width (gridColumnWidth)px
margin 0 unit(gridPadding / 2, px)
.l-row
margin 0 unit(-(gridPadding / 2), px) unit(gridPadding, px)
&.l-compact
margin-bottom 0
// Generate span & offset classes
for i in 1..gridColumnCount
unless i is 1
&.l-span-{i}
width unit(i * gridColumnWidth + (i - 1) * gridPadding, px)
unless i is gridColumnCount
&.l-offset-{i}
margin-left unit(gridPadding / 2 + i * (gridColumnWidth + gridPadding), px)
… ou obtenha-os diretamente desta página do GitHub .
Você pode usar as classes geradas em seu HTML assim:
<div class="l-grid">
<div class="l-row">
<div class="l-cell">
<div class="l-cell">
...
<div class="l-cell">
</div>
<div class="l-row">
<div class="l-cell l-offset-3">
<div class="l-cell l-offset-1 l-span-2">
...
<div class="l-cell">
</div>
</div>
As linhas também podem ser aninhadas, assim:
<div class="l-grid">
<div class="l-row">
<div class="l-cell">
<div class="l-cell">
...
<div class="l-cell">
</div>
<div class="l-row">
<div class="l-cell l-offset-3">
<div class="l-cell l-offset-1 l-span-2">
<!-- Nested row -->
<div class="l-row l-compact">
<div class="l-cell">Nested cell content 1</div>
<div class="l-cell">Nested cell content 2</div>
...
<div class="l-cell">
</div>
...
<div class="l-cell">
</div>
</div>