更改twitter bootstrap模式中的背景颜色?

时间:2012-05-14 14:50:07

标签: twitter-bootstrap

在twitter bootstrap中创建模态时,有没有办法改变背景颜色?完全删除阴影?

注意:要删除着色,此不会工作,因为它还会更改点击行为。 (我仍然希望能够在模态外单击以关闭它。)

$("#myModal").modal({
  backdrop: false
});

11 个答案:

答案 0 :(得分:90)

通过以下方式更改颜色:

CSS

在引导样式之后将这些样式放在样式表中:

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

将bootstrap-variables更改为:

@modal-backdrop-bg:           red;

Source

萨斯

将bootstrap-variables更改为:

$modal-backdrop-bg:           red;

Source

自举-定制

@modal-backdrop-bg更改为您想要的颜色:

getbootstrap.com/customize/


您也可以通过Javascript删除背景或将颜色设置为transparent

答案 1 :(得分:9)

如果要更改特定模式的背景幕背景颜色,可以通过以下方式访问背景幕元素:

$('#myModal').data('bs.modal').$backdrop

然后你可以通过.css jquery函数更改任何css属性。特别是,背景:

$('#myModal').data('bs.modal').$backdrop.css('background-color','orange')

请注意,必须初始化$('#myModal'),否则$ backdrop将为null。同样适用于bs.modal数据元素。

答案 2 :(得分:6)

<强> CSS

如果这不起作用:

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

试试这个:

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

答案 3 :(得分:5)

删除bootstrap模态背景试试这个

.modal-backdrop {
   background: none;
}

答案 4 :(得分:2)

如果要将背景添加到特定模态,会变得有点复杂。解决这个问题的一种方法是添加和调用类似函数的函数,而不是直接显示模态:

function showModal(selector) {
    $(selector).modal('show');
    $('.modal-backdrop').addClass('background-backdrop');
}

然后可以将任何css应用于background-backdrop类。

答案 5 :(得分:2)

添加以下CSS;

.modal .modal-dialog .modal-content{  background-color: #d4c484; }

<div class="modal fade">
<div class="modal-dialog" role="document">
<div class="modal-content">
...
...

答案 6 :(得分:1)

如果只需要删除一种模态窗口的阴影,只需在模态窗口中添加ID

<div class="modal fade" id="myModal">...</div>

并在你的css文件中添加以下内容

#myModal .modal-backdrop {background-color: transparent;}

如果您需要删除所有模态窗口的阴影,只需跳过分配ID的步骤。

答案 7 :(得分:1)

对于Bootstrap 4,您可能必须使用.modal-backdrop.show并在!importantbackground-color上都使用opacity标志。

例如

.modal-backdrop.show {
   background-color: #f00;
   opacity: 0.75;
}

答案 8 :(得分:0)

我花了几个小时试图弄清楚如何从已启动的模式中删除背景,到目前为止已经尝试了

.modal-backdrop {    background: none; }

没用 即使我尝试使用

之类的javascript
 <script type="text/javascript">   
 $('#modal-id').on('shown.bs.modal',  function () {
       $(".modal-backdrop.in").hide();     })
</script>

也没有任何作用。 我刚刚添加

data-backdrop="false"

<div class="modal fade" id="myModal" data-backdrop="false">......</div>

并应用CSS CLASS

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

现在它的工作就像一种魅力 这适用于Bootstrap 3

答案 9 :(得分:0)

对于Angular(7+)项目:

::ng-deep .modal-backdrop.show {
    opacity: 0.7 !important;
}

否则,您可以使用:

.modal-backdrop.show {
    opacity: 0.7 !important;
}

答案 10 :(得分:0)

模态出现时,它将在出现之前触发事件show.bs.modal。我在Safari 13.1.2的{​​{1}}上尝试过。触发MacOS 10.15.6事件时,show.bs.modal尚未插入.modal-backgrop

所以,我动态放弃body,而addClass则放弃removeClass

在Internet上浏览了很多文章之后,我发现了a code snippet。当.modal-backdropaddClass事件触发时,removeClassbody.modal-backdrop的父节点show.bs.modal

ps:我使用Bootstrap 4.5

CSS

hide.bs.modal

Javascript

// In order to addClass/removeClass on the `body`. The parent of `.modal-backdrop`
.no-modal-bg .modal-backdrop {
    background: none;
}

参考文献

  1. The code snippet after google
  2. Bootstrap 4.5, modal, #events
  3. Bootstrap 4.5 documents