我想使用Jekyll& Bootstrap 3将我的博客文章显示在如下所示的列表中:
查看帖子如何按行每列2列?使用Liquid和Bootstrap 3的网格系统可以实现同样的效果吗?
答案 0 :(得分:5)
这实际上是两个问题。
我昨天回答了两个类似的问题:
Bootstrap有a page with example designs你可以偷。特别是这两个:
查看示例页面的源代码 - 基本上,您只需要使用正确的类将文章包装在几个<div>
中。
例如,这是Jumbotron示例中的三个块的源代码
<div class="row">
<div class="col-md-4">
<h2>Heading</h2>
<p>blah</p>
</div>
<div class="col-md-4">
<h2>Heading</h2>
<p>blah</p>
</div>
<div class="col-md-4">
<h2>Heading</h2>
<p>blah</p>
</div>
</div>
您只需要修改我的其他答案(上面链接)中的代码示例,以便它们生成<div>
s的类似组合。
另外,您可能需要阅读Bootstrap's grid system以获取正确的列(例如,上面示例代码中的类col-md-4
因您想要的列数而异)
最后,一个真实的例子:My blog在首页上有类似的列表
这是一个固定数量的帖子(最后九个,三个三行),所以我使用this answer的第一个方法。
The source code of the front page is here。
请注意,我仍然使用Bootstrap 2 (而不是3),因此您不能只从我的源代码中复制和粘贴CSS类!
答案 1 :(得分:1)
我使用Bootstrap 3为Jekyll设计了一个主题。我知道很多人都想要bootstrap的列功能。
从显示示例列配置的主题中查看this sample post。
答案 2 :(得分:1)
使用四列的解释示例:
<div class="container">
{% for post in site.posts %}
{% cycle 'add row' : '<div class="row">', nil, nil, nil %}
<div class="col-sm-3">
<!-- liquid tags here -->
</div>
{% cycle 'end row' : nil, nil, nil, '</div>' %}
{% endfor %}
{% cycle 'end row' : nil, '</div>', '</div>', '</div>' %}
</div>
考虑第一个周期。通过循环的第一次和第四次迭代,添加了一个新的行div。剩下的时间没有因为nil
参数而发生。
{% cycle 'add row' : '<div class="row">', nil, nil, nil %}
考虑第二个周期。通过循环的每第四次迭代,行div被关闭。其他迭代通过nil
,没有任何反应。
{% cycle 'end row' : nil, nil, nil, '</div>' %}
考虑第三个周期。这使用与前一个周期相同的end row
标识符,因此它遵循相同的顺序。关键是要关闭最后一行,除非上一个周期处理它。
{% cycle 'end row' : nil, '</div>', '</div>', '</div>' %}
最后,要使用Bootstrap获取正确数量的列,请使用适当的单元类。我使用.col-sm-3
获取四列(12/3)以显示在台式机和平板电脑上,但不显示在手机上。
<div class="col-sm-3"></div>
对于三列,请使用:
{% cycle 'add row' : '<div class="row">', nil, nil %}
{% cycle 'end row' : nil, nil, '</div>' %}
{% cycle 'end row' : nil, '</div>', '</div>' %}
<div class="col-sm-4"></div>
对于两列,请使用:
{% cycle 'add row' : '<div class="row">', nil %}
{% cycle 'end row' : nil, '</div>' %}
{% cycle 'end row' : nil, '</div>' %}
<div class="col-sm-6"></div>
答案 3 :(得分:0)
我在一个显示Bootstrap网格中的帖子的jekyll项目中实现了这一点,它很有用:
<div class="container">
<div class="row">
<ul>
{% for product in site.pages %}
{% if product.sub-category == 'sample-category' %}
<li>
<div class="col-xs-12 col-sm-4 col-md-3">
<a href="{{ product.url }}">
<img src="{{ product.img }}" />
<h3>{{ product.title }}</h3>
<h4>{{ product.part_number }}</h4>
</a>
</div>
</li>
{% endif %}
{% endfor %}
</ul>
</div>
</div>