【问题标题】:How to create a horizontal margin between divs with Bootstrap 4 scss如何使用 Bootstrap 4 scss 在 div 之间创建水平边距
【发布时间】:2023-03-31 01:59:01
【问题描述】:

我正在尝试学习使用 Bootstrap 和 Sass。我被困在看似简单的事情上,但我无法让它发挥作用。如何在下面的 div 之间创建一个边距?

我尝试在每个 div 中插入 margin-top 或 margin-bottom,但我无法得到我正在寻找的结果。我尝试将 div 包装在容器中并以不同的方式插入行,但毕竟这段时间我不知道该寻找什么了。每次 div 在添加边距后变得更长或更短。由于背景颜色,这些 div 一直相互粘连。我想在它们之间留出空白。

如何调整 scss 来完成这项工作?

html

<div class="container">
    <div class="main_body"><div class="sidebar"></div>
        <div class="main_content">
            <div class="main_items">
                <div class="profileTabs"></div>
                <div class="profileHead"></div>
                <div class="interests"></div>
                <div class="profileLabels"></div>
            </div>
----------------------------------margin-------------------------------
            <div class="item">
                <div class="avatars"></div>
                <div class="content"></div>
            </div>
            <div class="item">
                <div class="avatars"></div>
                <div class="content"></div>
            </div>
        </div>
    </div>
</div>

scss

.container {
  @include make-container();
  .main_body {
    @include make-row();
    .sidebar {
      @include make-col-ready();
      @include make-col(1.8, 12);
      margin-right: 15px;
    }
    .profileTabs {
      @include make-col-ready();
      @include make-col(10, 10);
    }
    .main_content {
      @include make-col-ready();
      @include make-col(10, 12);
      .main_items {
        @include make-row();
        .profileHead {
          @include make-col-ready();
          @include make-col(2, 10);
        }
        .interests {
          @include make-col-ready();
          @include make-col(2, 10);
        }
        .profileLabels {
          @include make-col-ready();
          @include make-col(2, 10);
        }
      }
      .item {
        @include make-row();
        .avatars {
          @include make-col-ready();
          @include make-col(2.2, 10);
        }
        .content {
          @include make-col-ready();
          @include make-col(7.8, 10);
        }
      }
    }
  }
}

【问题讨论】:

  • 既然你用的是Bootstrap 4,那试试spacing utilities提供的呢?
  • 您似乎没有使用任何 Bootstrap 类。
  • 我仍在试图弄清楚如何做到这一点。只有一个 make-col 和 make-col-ready mixin。我已经很高兴能够使用 Bootstrap 网格将所有框放置到位。如果没有 sass,这是不可能的。我从这篇很酷的博客文章开始:willschenk.com/bootstrap-advanced-grid-tricks 现在我只是想更进一步。我找不到很多关于如何自己定义引导程序的示例或教程。如果您能了解更多像 Will Schenk 或 helloerik.com 这样的文章,那就太好了。例如。
  • 向 div 添加间距类与向 div 添加边距相同,对吧?我尝试向 div 添加一些类,但是 div 变得更长,它们被拉伸了。他们不会分开。感觉我一定是缺少一列或一行。

标签: html sass bootstrap-4


【解决方案1】:

你可以使用&lt;hr&gt;

这可能就是你要找的。​​p>

这是一个例子:jsfiddle

【讨论】:

  • 那行不通。如果我将
    放在两个 div 之间,顶部的 div 似乎会变长。
    似乎出现在“main_items”的底部 在控制台中,很明显
    在“main_items”下方,但它继承了与“main_items”相同的背景颜色。所以它仍然不会分离两个 div...
  • 您可以使用 &lt;hr class="spacer"&gt; 类将 css 属性应用于 &lt;hr&gt;,然后您可以应用边距、填充和颜色。
  • 感谢您的回答,我希望它会起作用,但是当向
    添加边距时,“main_items”似乎仍然变长了。我认为scss文件中的结构一定是错误的,但是现在看不清楚了。