【发布时间】:2012-06-04 18:54:54
【问题描述】:
我在我的 CMS 应用中使用 Twitter Bootstrap 网格系统。
当用户构建页面时,他们可以在一行中添加任意数量的列。考虑这一行:
<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;
}
由于我已经在 CSS 中使用 LESS,我认为可能有一个方便的计算可以使这项工作发挥作用。
问题是指定 50% 的宽度没有考虑到margin-left 的20px。所以我需要取行的宽度,每列减去 20px。然后将剩余的宽度除以列数。
另外,我想避免使用 JavaScript。我不喜欢渲染 99% 的视图,然后在脚本中进行调整。如果脚本执行有微小的延迟,用户会看到布局闪烁。不好。
那么,有没有办法通过 LESS/CSS 做到这一点?
【问题讨论】:
标签: css twitter-bootstrap less