CMSアプリでTwitterBootstrapグリッドシステムを使用しています。
ユーザーがページを作成すると、行に任意の数の列を追加できます。次の行について考えてみます。
<div class="span9 row">
<div class="span5">span5</div>
<div class="span4">span4</div>
</div>
私がやりたいのは、ユーザーが行を設定して、その幅を列内の列に均等に分散できる機能を追加することです。
したがって、span5
およびspan4
クラスはオーバーライドされます。これは基本的にテーブル行のように動作しますが、行を作成するのはハッキーだと思いますdisplay: table-row
。おそらく、TwBootstrapグリッドのレスポンシブ機能を台無しにするでしょう。
私が避けたいのは、幅の各組み合わせを次のように定義することです。
<div class="span9 row shared child-count-2">
<div class="span5">span5</div>
<div class="span4">span4</div>
</div>
そしてCSSでは:
.row.span9.shared.child-count-2 > div {
width: 340px;
}
私はすでにLESSforCSSを使用しているので、これを機能させることができる便利な計算があるかもしれないと思いました。
問題は、50%の幅を指定すると、のが考慮されないこと20px
ですmargin-left
。したがって、行の幅から各列の20pxを引いたものを取得する必要があります。次に、残りの幅を列数で割ります。
また、JavaScriptの使用は避けたいと思います。ビューの99%をレンダリングしてから、スクリプトで調整を行うのは好きではありません。スクリプトの実行にわずかな遅延が発生した場合、ユーザーにはレイアウトがちらつくのがわかります。良くない。
それで、LESS / CSSからこれを行う方法はありますか?