【问题标题】:Bootstrap 4 Modal without backdrop没有背景的 Bootstrap 4 模态
【发布时间】:2020-06-16 17:43:34
【问题描述】:

我尝试显示 Bootstrap 4 模式,但没有背景。

为了做到这一点,我尝试了这个,但没有成功:

.modal.right. modal-backdrop.show {
   background-color: transparent !important;
}

如果我尝试这样做,它会起作用(但它不仅适用于“正确”类):

modal-backdrop.show {
   background-color: red;
}

这里是测试示例:https://codepen.io/cdemez/pen/abdmxXZ

如果有人有解决问题的想法?

【问题讨论】:

标签: html css bootstrap-4


【解决方案1】:

更改特定模式的背景不能使用纯 CSS 设置样式。 Bootstrap 没有定义这样的事情。

在 CSS 的帮助下,您可以全局更改背景样式(适用于所有 modal 的背景)。

模态背景元素在modal 类之外。因此,您可以在 jquery 的帮助下定位元素。

$('#exampleModal').on('show.bs.modal', function (e) {
//parent element of backdrop is `body`
    $('body').addClass("example-open");
}).on('hide.bs.modal', function (e) {
    $('body').removeClass("example-open");
})

然后你可以使用 css

.example-open .modal-backdrop {background-color:red !important;}

工作示例:https://www.codeply.com/p/WBAMNC7G5m

【讨论】:

  • 谢谢,但我希望只有 CSS 解决方案!
  • 这在 css 中是不可能的,因为 bootstrap 不提供任何类似的东西。这是这里唯一的解决方案。在 css 的帮助下,您可以更改适用于所有模态背景的全局背景类别。
  • 好的,谢谢,所以我没有其他解决方案。您是否注意到,如果我将背景设置为透明,则在关闭模式时,背景会在短时间内重新出现?
  • 这可能是因为fade 动画。通过从模式中删除 fade 类尝试一次。
【解决方案2】:

据我了解,您希望模态显示没有背景。查看您的 HTML,您的标签为

 <div class="modal right fade" data-backdrop="hidden" id="exampleModal" tabindex="" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">

data-drop 属性是一个布尔值,因此将其更改为 false,它应该会移除背景。

像这样:

<div class="modal right fade" data-backdrop="false" id="exampleModal" tabindex="" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">

【讨论】:

  • 谢谢,但是 data-backdrop="false" 隐藏了背景,但也使它不可点击。 IE。 “静止的”。我只想隐藏它,但是当我在它外部单击时,模式应该关闭;-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-15
  • 2014-03-30
  • 2014-06-16
  • 1970-01-01
  • 1970-01-01
  • 2017-11-13
  • 2020-07-08
相关资源
最近更新 更多