我有一个行,然后一个<div class="span4"></div>
内部,但有时我有两个这样的 div class="4",所以我需要一种方法来放置<div class="spanX"></div>
X 放在剩下的位置,直到 12。
我正在使用 Django,但我不知道该怎么做。
我有一个行,然后一个<div class="span4"></div>
内部,但有时我有两个这样的 div class="4",所以我需要一种方法来放置<div class="spanX"></div>
X 放在剩下的位置,直到 12。
我正在使用 Django,但我不知道该怎么做。
有几种方法可以做到这一点。一种是将 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);
正如 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