【问题标题】:Remove white gap spaces in the left and right sides去除左右两边的空白
【发布时间】:2016-02-15 16:07:26
【问题描述】:

我有一个使用bootstrap's grid system 创建的引导程序panel-based 网页。问题是,我在 div 的左侧和右侧有那些额外的空间。基本上内容都在中心。如何删除它?

我尝试使用 margin-top、margin-left、margin-right、bootstrap 的 pull-left 和 pull-right、margin 和 padding 设置为 0、width:100% 等都没有用。

这是一张图片:

看看左右两边,这是我要删除的空白。我不知道这是我的 CSS 有问题还是我对框架的使用不当(我是新手)或者我不知道的一些引导程序的标准行为。但我想知道这是什么,并且知道如何删除它。

这是我的 HTML(这是上面图片的完整 HTML,当然除了母版页的 HTML):

 <div class="row">
            <div class="col-md-6">
                <br />
                    <div class="panel panel-primary">
                       <div class="panel-heading">
                          <h3 class = "panel-title">JUST HAPPEND, YOU KNOW</h3>
                       </div>

                       <div class="panel-body">
                           <p />
                          <span class="date">15.40</span> CONTENTS GOES HERE... <p />
                          <span class="date">15.40</span> CONTENTS GOES HERE... <p />
                          <span class="date">15.40</span> CONTENTS GOES HERE... <p />
                          <span class="date">15.40</span> CONTENTS GOES HERE... <p />
                          <input class='btn btn-success' type='submit' value="LET ME READ ALL THAT" title="READ MORE...">
                       </div>
                   </div>
            </div>

            <div class="col-md-6">
                 <div class = "panel panel-primary">
                       <div class = "panel-heading">
                          <h3 class = "panel-title">LAST NEWS</h3>
                       </div>
                       <div class = "panel-body">
                           <p />
                           MORE CONTENTS GOES HERE
                       </div>
                   </div>
            </div>

            <div class="col-md-6">
                <div class = "panel panel-primary">
                       <div class = "panel-heading">
                          <h3 class = "panel-title">VIDEOS</h3>
                       </div>
                       <div class = "panel-body">
                         <div class="vid">
                          <iframe width="420" height="315"
                              src="https://www.youtube.com/embed/yWP6Qki8mWc?cc_load_policy=1"
                              frameborder="0" allowfullscreen=""
                           ></iframe>
                             </div>
                       </div>
                   </div>
             </div>

            <div class="col-md-6">
               <div class="panel panel-primary">
                       <div class = "panel-heading">
                          <h3 class = "panel-title">MAY I HELP YOU?</h3>
                       </div>
                       <div class = "panel-body">
                            HELLO
                       </div>
                    </div>
             </div>

          <div class="col-md-8">
                 <div class="panel panel-primary">
                       <div class = "panel-heading">
                          <h3 class="panel-title">THE LIFE</h3>
                       </div>
                       <div class = "panel-body">
                            <div class="row">
                                <div id="links">
                                        <div class="col-md-4">
                                            <a href="http://4.bp.blogspot.com/-Piugr0fCCpE/UZLhWealhpI/AAAAAAAACUU/UzB5PWn__oA/s1600/passaros0031.jpg" title="Image 1" data-gallery>
                                                <img src="http://4.bp.blogspot.com/-Piugr0fCCpE/UZLhWealhpI/AAAAAAAACUU/UzB5PWn__oA/s1600/passaros0031.jpg"  alt="Image 1" class="img-responsive">
                                            </a>
                                        </div>

                                        <div class="col-md-4">
                                            <a href="http://2.bp.blogspot.com/-uk7UKQdsN5c/T_iX9EUDmuI/AAAAAAAABeA/4jpV4UmZjrM/s1600/passaros.jpg"  title="Image 2" data-gallery>
                                                <img src="http://2.bp.blogspot.com/-uk7UKQdsN5c/T_iX9EUDmuI/AAAAAAAABeA/4jpV4UmZjrM/s1600/passaros.jpg" alt="Image 2" class="img-responsive">
                                            </a>
                                        </div>

                                        <div class="col-md-4">
                                            <a href="http://1.bp.blogspot.com/_sz2fJjO1XW8/TIwpeTIHrcI/AAAAAAAAE7I/z9fD9BTwWyA/s1600/passaro_001.jpg"  title="Image 3" data-gallery>
                                                <img src="http://1.bp.blogspot.com/_sz2fJjO1XW8/TIwpeTIHrcI/AAAAAAAAE7I/z9fD9BTwWyA/s1600/passaro_001.jpg" alt="Image 3" class="img-responsive">
                                            </a>
                                        </div>
                                </div>
                        </div>
                       </div>
                   </div>
            </div>
        <br /> <br />
        <div class="col-md-8">
            <div class="row">
                <div class="col-md-4">
                    AAAAAAA
                </div>
                <div class="col-md-4">
                    BBBBBBB
                </div>
                <div class="col-md-4">
                    CCCCCCC
                </div>
            </div>
        </div>
     </div>

【问题讨论】:

  • bootstrap 中的一行由 12 列组成。在您的代码中,我看到 4 列大为 4,一列大为 8,这意味着在您的行中有 4*4+8=24 列。这就是为什么你会得到那些空白。要删除它们,您必须将列划分为行,以便每行最多包含 12 列
  • 你能不能把css贴出来看看为什么margin-top、margin-left、margin-right、bootstrap的pull-left和pull-right、margin和padding设置为0、width:100%没有工作吗?
  • @silviagreen:我做了修复,但这并没有删除空格。我只是尝试了每一个,但由于没有一个有效,我删除了它们。它们现在都不是我的 CSS 的一部分。
  • 如果我使用引导 css 将您的 html 代码复制并粘贴到 jsfiddle 中,则没有左右空格,所以我想肯定有其他 css 规则可以“创建”它们。

标签: html css asp.net twitter-bootstrap


【解决方案1】:

我假设您正在尝试使页面全宽,而不是 1170px 宽和居中,这是 .container 引导类所做的。如果是这种情况,您只需将.container 替换为.container-fluid

<div class="container-fluid">
    <div class="row">
        <div class="col-md-12">
            foo, bar, foobar 
        </div>
    </div>
</div>

由于我在您的摘录中没有看到任何 .container 声明,因此更改应该发生在您的母版页中。另请记住,每个 .row 的列数应始终为 12(2 x .col-md-6、3 x .col-md-4 等)。

CodePen

【讨论】:

  • 容器确实在母版页中。该页面有一个&lt;div class="container body-content"&gt;,我刚刚将其替换为&lt;div class="container-fluid body-content"&gt;。这是替换的正确位置,对吗?效果很好,非常感谢
  • 是的,这是正确的地方。我什至会争辩说你也可以从声明中删除.body-content,这样你就可以得到一些左/右间距。如果此解决方案对您有用,请考虑将其标记为答案。不客气!
  • 是否可以获得与使用.container-fluid 相同的效果并添加一些填充?我的面板的边框碰到了边缘。甚至还有一个水平滚动条。我只想要一些填充,像.body-content 这样的东西不会提供我之前在两侧的大间隙
  • 这是:.body-content { padding-left: 15px !important; padding-right: 15px !important; } 黑客吗?
  • 不,它带有 ASP.NET 中的引导模板。如果它适合您的目的,请随意保留它,我总是在构建 CSS 规则时将其删除,从而使这些规则变得不必要。
【解决方案2】:

我发现了问题:在引导程序中有一个规则

.container {
   width: 1170px;
}

这会导致出现白色间隙。要删除它,只需在 site.css 中添加 width:100%body-content

/* Wrapping element */
/* Set some basic padding to keep content from hitting the edges */
.body-content {
   padding-left: 15px;
   padding-right: 15px;
   width:100%; //ADD THIS
}

这是证明:codepen

【讨论】:

  • 非常感谢您抽出宝贵的时间!在我的本地测试中,width:100% 规则没有改变任何东西。真正做的是在母版页的 div 中从 .container 切换到 .container-fluid。就像@trashr0x 的回答中指出的那样
  • .container 是引导类,而 .body-content 不是。试图修改.container 的行为只会给你带来麻烦。让 bootstrap 为您处理管道,使用 .container-fluid ;)
猜你喜欢
  • 2015-12-01
  • 2018-12-27
  • 2021-05-11
  • 1970-01-01
  • 2016-03-22
  • 1970-01-01
  • 2014-07-09
  • 1970-01-01
  • 2012-01-18
相关资源
最近更新 更多