-1

我有一个行,然后一个<div class="span4"></div>内部,但有时我有两个这样的 div class="4",所以我需要一种方法来放置<div class="spanX"></div>X 放在剩下的位置,直到 12。

我正在使用 Django,但我不知道该怎么做。

4

2 回答 2

1

有几种方法可以做到这一点。一种是将 Django 中的服务器端值注入到模板中:

<div class="span{{ fill_column_span }}"></div>

或者通过使用 JavaScript 查看当前跨度总计是多少,然后确定差异。这是未经测试的,但应该非常接近。

// assumes jQuery, and that the column divs are only classed with span[x]
var existing_span = 0,
    fill_span,
    target = $('.target-class');

$.each(target.find('div[class*="span"]'), function(i, item) {
    existing_span += parseInt(item.class);
});

fill_span = 12 - existing_span;

$(target).find('div[class*="span"]:last').attr('class', 'span' + fill_span);
于 2013-07-28T20:45:33.253 回答
0

正如 Brandon 建议的那样,如果您在 jinja2 模板中使用它:

<div class="span{{ fill_column_span }}"></div>

然后在视图中,你可以得到最后一个 div 宽度,知道你所有的 div 都是 span4:

listYouCreateYourSpan4DivsFrom = ['foo','bar']
fill_column_span = 12 - len(listFromWichYouCreateYourSpan4Divs) * 4

当然,在某处放置一个 if 语句来运行它只是 len(listFromWichYouCreateYourSpan4Divs) < 3

于 2013-07-28T20:54:56.307 回答