【发布时间】:2021-08-14 20:29:34
【问题描述】:
当我在我的页面上打开 Boostrap 4 模式时,它会将页面内容稍微向左移动。我已经设法通过在打开模式时向正文添加一个 css 类来防止这种情况发生在大多数内容上。但是,由于某种原因,这不适用于我的导航内容,并且当模式打开时它们仍会向左移动。我怎样才能解决这个问题?任何帮助都会很棒,谢谢。
HTML
<body>
<nav class="navbar navbar-expand-lg navbar-light fixed-top" id="navFixed">
<div class="container-fluid container">
<a class="navbar-brand" href="javascript:void(0);" onclick="navigateToPage()">
MyNav
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#myNavbar" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link" href="javascript:void(0);" onclick="navigateToPage()" title="Home">Home</a>
</li>
...
</ul>
</div>
</div>
</nav>
...
</body>
JS
$('#demoModal').on('show.bs.modal', function (e) {
$('body, nav > .container').addClass('test');
})
CSS
.test[style] {
padding-right: 0 !important;
color: red;
}
.test.modal-open {
overflow: auto !important;
}
body.modal-open {
margin-right: 0px
}
【问题讨论】:
-
通常在页面高度增加并显示垂直滚动条时会发生这种情况。滚动条导致页面中心重新计算,内容似乎向左轻微移动。
标签: html jquery css bootstrap-4 bootstrap-modal