【问题标题】:Bootstrap Grid Doesn't work as expected引导网格无法按预期工作
【发布时间】:2018-05-26 08:29:32
【问题描述】:

我希望我的主要内容和 Sidewidget 在同一行。凭借我对引导网格的了解,我试图完成这项工作,但侧边小部件堆叠在内容下方而不是侧面。这是所需的 sn-ps。

body.html

<!-- Navigation -->
{% include 'nav.html' %}
<!-- Page Content -->
<div class="container">
  <div class="row">
    <div class="col-lg-8 ">
      {% block content %}
      {% endblock %}
    </div>
    <div class="col-lg-4">
       {% block sidewidget %}
       {% endblock %}
    </div>
  </div>
</div>

<!-- Bootstrap core JavaScript -->
<script src="{% static 'js/jquery.min.js' %}"></script>
<script src="{% static 'js/bootstrap.bundle.min.js' %}"></script>
<script src="{% static 'js/tinymce/tinymce.min.js' %}"></script>
<script type="text/javascript" src="{% static 'js/tinymce/custom.js' %}" ></script>

nav.html

<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
  <div class="container">
    <a class="navbar-brand" href="#">Start Bootstrap</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarResponsive">
      <ul class="navbar-nav ml-auto">
        <li class="nav-item active">
          <a class="nav-link" href="#">Home
            <span class="sr-only">(current)</span>
          </a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">About</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Services</a>
        </li>
        {% if user.is_authenticated %}
          <li class="nav-item">
            <a class="nav-link" href="{% url 'add' %}">Add Article</a>
          </li>  
        {% endif %}
      </ul>
    </div>
  </div>

我的 {% 块内容 %}

{% for post in posts %}
      <h2 class="mt-4">{{post.title}}</h2>
      <!-- Author -->
      <p class="lead">
        by
        <a href="/author/{{post.author}}">{{post.author}}</a>
      </p>
      <hr>
      <!-- Date/Time -->
      <p class="lead">Published on <b>{{post.published_date}}</b></p>
      <hr>
      <!-- Preview Image -->
      <img class="img-fluid" src="{{post.image.url}}" alt="Img Placeholder">
      <p>{{post.images}}</p>

      {% for tag in post.tags.all %}
      <p>{{tag.name}}</p>
      {% endfor %}
      <hr>
      <!-- Post Content -->
      <p class="lead">{{post.content|safe|truncatewords:"60"|linebreaks}}</p>
      <footer class="entry-footer">
        <a href="{{post.slug}}" class="btn-readmore"><button class="btn btn-primary">Read More</button></a>
      </footer>
      <hr>
{% empty %}
       <h1> Nothing to display</h1>
{% endfor %}  
{% endblock %}

我的 {% Sidewidget %} 块

  <!-- Search Widget -->
  <div class="card my-4">
    <h5 class="card-header">Search</h5>
    <div class="card-body">
      <div class="input-group">
        <input type="text" class="form-control" placeholder="Search for...">
        <span class="input-group-btn">
          <button class="btn btn-secondary" type="button">Go!</button>
        </span>
      </div>
    </div>
  </div>

  <!-- Categories Widget -->
  <div class="card my-4">
    <h5 class="card-header">Categories</h5>
    <div class="card-body">
      <div class="row">
        <div class="col-lg-6">
          <ul class="list-unstyled mb-0">
            <li>
              <a href="#">Web Design</a>
            </li>
            <li>
              <a href="#">HTML</a>
            </li>
            <li>  
              <a href="#">Freebies</a>
            </li>
          </ul>
        </div>
        <div class="col-lg-6">
          <ul class="list-unstyled mb-0">
            <li>
              <a href="#">JavaScript</a>
            </li>
            <li>
              <a href="#">CSS</a>
            </li>
            <li>
              <a href="#">Tutorials</a>
            </li>
          </ul>
        </div>
      </div>
    </div>
  </div>

  <!-- Side Widget -->
  <div class="card my-4">
    <h5 class="card-header">Side Widget</h5>
    <div class="card-body">
      You can put anything you want inside of these side widgets. They are easy to use, and feature the new Bootstrap 4 card containers!
    </div>
  </div>
{% endblock %}

我尝试过调整,但似乎没有任何效果

我想要这样的页面:

|*****************************|  
|navigationbar                | 
|*****************************|
|Post1(Col1-Col8)  |SIDEWIDGET| 
|*****             |          |
|Post2(Col1-Col8)  |          |
|*****             |          |
|PostN(Col1-Col8)  |          |
|*****************************|
|Footer                       |

【问题讨论】:

    标签: django twitter-bootstrap bootstrap-grid


    【解决方案1】:

    您的代码应该可以工作。根据引导程序的文档,col-lg-* 修饰符仅适用于宽度超过 1200 像素的屏幕。也许您使用的是较小的屏幕,并且还需要添加 col-smcol-md 修饰符。请尝试这些,如果它有效,请告诉我。

    <div class="container">
      <div class="row">
        <div class="col-sm-8 col-lg-8 ">
          {% block content %}
          {% endblock %}
        </div>
        <div class="col-sm-4 col-lg-4">
           {% block sidewidget %}
           {% endblock %}
        </div>
      </div>
    </div>
    

    【讨论】:

    • 在您的情况下,sidewidget 将仅占用第一行的列,而不是 OP 要求的所有行中的所有列,以便跨越所有行的所有第二列
    • 一点也不。如果您查看他的其余代码,他不会在其他任何地方添加更多行。
    • 已经有三行,他想将小部件跨越第二列的所有三行,请参见图片,否则问题会非常简单
    • 嗨,马丁,我已经尝试过你提到的方法,但似乎不起作用
    【解决方案2】:

    你不能使用 bootstarp 网格系统,因为 sidewidget 会占据整个三行的列。你必须使用 flex box。通过使用网格系统,列可以单独用于不同的行,但您不能让整个列跨越不同的行。

    【讨论】:

    • 嗨,我可能没有解释清楚,我希望我的侧面小部件位于右侧的 col-8 到 col-12 之间。
    • 在网格中它是不可能的,但你必须通过使用 flex 来使用自定义 cs 和 html
    • 谢谢nikhil,我会试试你说的。
    • 我无法为您提供我尝试过的完整代码,但如果您喜欢这个答案,您最多可以投票,因为它没有给您完整的解决方案,所以不要要求绿色勾选它
    • 表示声望低于15的用户的投票被记录但不显示在公共平台上。所以是的,我赞成你的回答。
    【解决方案3】:

    在“导航”部分中,“导航”标签未关闭&lt;/nav&gt;。关闭它,然后重试。
    我认为这将解决您的问题。

    <nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
      <div class="container">
        <a class="navbar-brand" href="#">Start Bootstrap</a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarResponsive">
          <ul class="navbar-nav ml-auto">
            <li class="nav-item active">
              <a class="nav-link" href="#">Home
                <span class="sr-only">(current)</span>
              </a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">About</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Services</a>
            </li>
            {% if user.is_authenticated %}
              <li class="nav-item">
                <a class="nav-link" href="{% url 'add' %}">Add Article</a>
              </li>  
            {% endif %}
          </ul>
        </div>
      </div>
    </nav>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-23
      • 2015-10-17
      • 2015-05-04
      • 1970-01-01
      • 1970-01-01
      • 2016-07-01
      • 1970-01-01
      • 2017-07-11
      相关资源
      最近更新 更多