覆盖 div 页面上的引导程序侧间隙

Posted

技术标签:

【中文标题】覆盖 div 页面上的引导程序侧间隙【英文标题】:Override bootstrap side gaps on page for div 【发布时间】:2021-10-01 01:55:36 【问题描述】:

我正在使用 bootstrap 4.3.1、ASP.NET MVC (.NET 5) 并且所有页面的侧面都有间隙,这很好,但我希望一个 div 忽略这一点,并保持 80% 的宽度并居中,而页面的其余部分保持不变。

除非我输入“width: 1000px;”,否则无论 div 是什么都不会改变并且仍然有左边距,即使我指定了“left: 50px !important”。

我尝试了将 div 设置为“container-fluid”并将其添加到“行”中的组合。我也尝试添加样式标签 "style="width:80% !important; left:50px !important;padding:0px;margin:0px;"

解决方案压缩文件:Google Drive

<div class="row" style="width:80% !important; left:50px !important;padding:0px;margin:0px;" >
    <ul class="nav nav-tabs">

        <li class="nav-item"><a class="nav-link active" data-toggle="tab" href="#rLocal">Test 1</a></li>
        <li class="nav-item"><a class="nav-link" data-toggle="tab" href="#rrEPRA">Test 2</a></li>
        <li class="nav-item"><a class="nav-link" data-toggle="tab" href="#rSWA">Test 3</a></li>
        <li class="nav-item"><a class="nav-link" data-toggle="tab" href="#rGI">Test 4</a></li>
    </ul>
    <div>
        <div class="tab-content">     

            <div role="tabpanel" class="tab-pane fade active" id="rLocal">
                <br />
                <div class="card" style="width: 100%;">
                    <div class="card-header alert-danger">
                        Test 1
                    </div>
                    <div class="card-body">
                        <p>
                            TODO
                        </p>
                    </div>
                </div>
            </div>

            <div role="tabpanel" class="tab-pane fade" id="rrEPRA">
                <br />
                <div class="card" style="width: 100%;">
                    <div class="card-header alert-danger">
                       Test 2
                    </div>
                    <div class="card-body">
                        <p>
                            TODO
                        </p>
                    </div>
                </div>
            </div>

            <div role="tabpanel" class="tab-pane fade" id="rSWA">
                <br />
                <div class="card" style="width: 100%;">
                    <div class="card-header alert-danger">
                        Test 3
                    </div>
                    <div class="card-body">
                        <p>
                            None
                        </p>
                    </div>
                </div>
            </div>

            <div role="tabpanel" class="tab-pane fade" id="rGI">
                <br />
                <div class="card" style="width: 100%;">
                    <div class="card-header alert-danger">
                        Test 4
                    </div>
                    <div class="card-body">
                        <p>
                            TODO
                        </p>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/css/bootstrap.min.css" crossorigin="anonymous">
 <body>
   <div class="container">
     <main role="main" class="pb-3">

       <div class="container-fluid">
         <ul class="nav nav-tabs">

           <li class="nav-item"><a class="nav-link active" data-toggle="tab" href="#rLocal">Test 1</a></li>
           <li class="nav-item"><a class="nav-link" data-toggle="tab" href="#rrEPRA">Test 2</a></li>
           <li class="nav-item"><a class="nav-link" data-toggle="tab" href="#rSWA">Test 3</a></li>
           <li class="nav-item"><a class="nav-link" data-toggle="tab" href="#rGI">Test 4</a></li>
         </ul>
         <div>
           <div class="tab-content">

             <div role="tabpanel" class="tab-pane active" id="rLocal">
               <br />
               <div class="card" style="width: 100%;">
                 <div class="card-header alert-danger">
                   Test 1
                 </div>
                 <div class="card-body">
                   <p>
                     TODO
                   </p>
                 </div>
               </div>
             </div>

             <div role="tabpanel" class="tab-pane fade" id="rrEPRA">
               <br />
               <div class="card" style="width: 100%;">
                 <div class="card-header alert-danger">
                   Test 2
                 </div>
                 <div class="card-body">
                   <p>
                     TODO
                   </p>
                 </div>
               </div>
             </div>

             <div role="tabpanel" class="tab-pane fade" id="rSWA">
               <br />
               <div class="card" style="width: 100%;">
                 <div class="card-header alert-danger">
                   Test 3
                 </div>
                 <div class="card-body">
                   <p>
                     None
                   </p>
                 </div>
               </div>
             </div>

             <div role="tabpanel" class="tab-pane fade" id="rGI">
               <br />
               <div class="card" style="width: 100%;">
                 <div class="card-header alert-danger">
                   Test 4
                 </div>
                 <div class="card-body">
                   <p>
                     TODO
                   </p>
                 </div>
               </div>
             </div>
           </div>
         </div>
       </div>
     </main>
   </div>
   </body>
  <script src="https://code.jquery.com/jquery-3.5.1.js"></script>
 
   <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/js/bootstrap.min.js"  crossorigin="anonymous"></script>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>

【问题讨论】:

left: 50px 无法按照您尝试的方式工作。它用于不相关的位置。试试这个:把整个东西放在一个带有container-fluid类的div中。这将跨越视口宽度的 100%。在里面使用你的导航而不使用rowrow 将在两侧添加默认填充。此外,row 在与 'col' 一起使用时很有用。如果只是 container-fluid 不起作用,请提出一个小提琴,以便我们在那里进行修改! 假设我正确地做了容器流体,它没有工作。我已经用 jsfiddle 更新了我的第一篇文章。谢谢。 我添加了更多细节,甚至上传了解决方案的 zip。 请在下面查看我的答案。 【参考方案1】:

你有一个容器内的容器流体。您的父容器将在屏幕中心采用适当的宽度,然后您的容器流体将采用 100% 的宽度。所以最后你会得到一个与容器宽度相同的 div。您需要做的就是删除包含&lt;main&gt; 的div,即&lt;div class="container"&gt;

它应该看起来像:

<main>
    <div class="container-fluid">
    // Navbar Code
    </div>
</main>

这应该跨越导航栏。但是,你仍然会有一个 15px 的填充,你可以通过在 container-fluid div 上添加一个 px-0 类来删除它。

此外,您还导入了 Jquery、Bootstrap-min 和 Bootstrap Bundle。 如果您有捆绑包,则不需要 Bootstrap-min。您应该删除它以防止 Bootstrap 的 JS 相关部分出现任何问题。

【讨论】:

以上是关于覆盖 div 页面上的引导程序侧间隙的主要内容,如果未能解决你的问题,请参考以下文章

将视频作为背景嵌入到 div 中(引导程序)

使用引导程序缩小列之间的间隙

单击导航抽屉引导程序时未显示侧导航栏

制作绝对:位置 div 向左滑动并淡出 - WordPress 上的引导程序

响应大小图像引导程序上的图像叠加

带有导航栏徽标的引导程序 [重复]