You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django v4x博客集成TailwindCSS v4时3列网格布局失效求助

问题分析与解决

问题出在网格容器的位置——你把grid grid-cols-3的容器写在了{% for post in posts %}循环内部,每遍历一篇文章就生成一个独立的3列网格,但每个网格里只有一个文章元素,所以每篇文章都会单独占满一行,最终呈现纵向排列的效果。

正确的做法是把网格容器放到循环外面,让所有文章都作为同一个网格容器的子元素,这样Tailwind的3列网格规则才会生效,文章会横向排列,填满一行后自动换行。

修正后的代码如下:

{% block content %}
<div class="border-8 border-purple-900">
  <h1>Articles</h1>

  <div class="grid grid-cols-3 gap-4">
    <div>01</div>
    <div>02</div>
    <div>03</div>
    <div>04</div>
    <div>05</div>
    <div>06</div>
    <div>07</div>
    <div>08</div>
    <div>09</div>
  </div>

  <!-- 把网格容器移到循环外面 -->
  <div class="grid grid-cols-3 gap-1">
    {% for post in posts %}  
      <div class="border-4 border-black">
        <article>
          <h1 class="text-2xl font-semibold">
            <a href="{% url 'blog:blog_detail' post.slug %}">{{ post.title }}</a>
          </h1>
          <h4>{{ post.created_at.date }}</h4>
          <!-- <p>{{ post.author }}</p> -->
          <div>{{ post.content | slice:":50" }}...</div>
        </article>
      </div>
    {% endfor %}
  </div>
</div>
{% endblock %}

这样修改后,所有文章都会被包裹在同一个3列网格容器里,按照grid-cols-3的规则横向排列,每一行显示3篇文章,之后自动换行到下一行。

内容的提问来源于stack exchange,提问作者user3125823

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 20:34:53