提问人:Roman 提问时间:11/6/2023 最后编辑:Roman 更新时间:11/7/2023 访问量:76
Bootstrap 网格宽度不正确
Bootstrap grid incorrect width
问:
我是 Boostrap 的新手,我在一个我无法离开的地方......我尝试了很多东西,检查 Boostrap 文档等,但我需要帮助。
我有以下代码:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
<style>
#wrapper {background: yellow; max-width: 500px; margin: 0 auto; }
.info {background: blue;}
#side {background: red}
#data {background: orange;}
</style>
<div id="wrapper">
<div class="row">
<div class="col-12">
<p id="breadcrumbs">
Breadcrumbs
</p>
<h1>...</h1>
<p class="info">
Info<br>info<br>
</p>
<div class="row">
<section id="side" class="col-md-4 col-lg-3">
...
</section>
<section class="col-md-8 col-lg-9">
<div class="row">
<div class="col-4">
...
</div>
<div class="col-8">
...
</div>
<ul id="data" class="row gx-5">
<li class="col-4">...</li>
<li class="col-4">...</li>
<li class="col-4">...</li>
<li class="col-4">...</li>
</ul>
</div>
</section>
</div>
</div>
</div>
</div>
问题是 #breadcrumbs、h1、.info 有任何宽度(包装器的最大宽度,假设 1600px),但 .row 更大。它的左/右边距为负,取自 _grid.scss:6。
当我将背景颜色设置为 #side 元素时,它在视觉上会超出网格。
知道我做错了什么吗?
谢谢。
我尝试检查 Bootstrap 手册、更改 bootstrap 类名等。 我希望嵌套的 .row 的宽度为其父级的 100%。
我附上图像/屏幕截图,它的外观。顶部是可见 p.info(其边界),底部是红色背景的 .row,它位于 .info 及其父级之外。
链接到 JSFiddle:https://jsfiddle.net/e3fxnthp/
答:
0赞
kiranvj
11/6/2023
#1
使用以下代码。包装元素的类 (docs) 并重新排列了一些元素。.container
.row
容器是 Bootstrap 中最基本的布局元素,在使用默认网格系统时是必需的。
#wrapper {background: yellow; max-width: 500px; margin: 0 auto; }
.info {background: blue;}
#side {background: red}
#data {background: orange;}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
<div id="wrapper">
<div class="row">
<div class="col-12">
<p id="breadcrumbs">
Breadcrumbs
</p>
<h1>...</h1>
<p class="info">
Info<br>info<br>
</p>
<div class="container">
<div class="row">
<section id="side" class="col-md-4 col-lg-3">
...
</section>
<section class="col-md-8 col-lg-9">
<div class="row">
<div class="col-4">
col 4
</div>
<div class="col-8">
col 8
</div>
</div>
<ul id="data" class="row">
<li class="col-4">...</li>
<li class="col-4">...</li>
<li class="col-4">...</li>
<li class="col-4">...</li>
</ul>
</section>
</div>
</div>
</div>
</div>
</div>
评论
0赞
Roman
11/6/2023
也许还有一个问题,为什么红色/橙色部分之间没有间隙?它应该是默认的,没有向所有元素添加任何类,不应该吗?
0赞
kiranvj
11/6/2023
@Roman 这是因为红色/橙色部分(带有类的元素)没有包装在类中。它会影响间距。.row
.container
0赞
joohi
11/7/2023
#2
将 #side 元素更改为 div 元素。div 元素内联块元素,witch 意味着它们只占用所需的空间。 ...
评论
<div class="col-12 p-0">
-删除?p-0
.p-0