在使用 Twitter Bootstrap 创建模态框时,有没有办法更改背景色?完全删除遮罩层?
注意:要删除遮罩层,这种方法不可行,因为它还会改变单击行为。(我仍希望能够单击模态框外部来关闭它。)
$("#myModal").modal({
backdrop: false
});
在使用 Twitter Bootstrap 创建模态框时,有没有办法更改背景色?完全删除遮罩层?
注意:要删除遮罩层,这种方法不可行,因为它还会改变单击行为。(我仍希望能够单击模态框外部来关闭它。)
$("#myModal").modal({
backdrop: false
});
通过以下方法更改颜色:
将这些样式放在Bootstrap样式之后的样式表中:
.modal-backdrop {
background-color: red;
}
将 bootstrap 变量更改为:
@modal-backdrop-bg: red;
将Bootstrap变量更改为:
$modal-backdrop-bg: red;
将@modal-backdrop-bg
更改为您想要的颜色:
您也可以通过Javascript或将颜色设置为transparent
来删除背景幕布。
如果您想改变特定模态的背景幕布的背景颜色,可以通过以下方式访问幕布元素:
$('#myModal').data('bs.modal').$backdrop
然后您可以通过.css jQuery函数更改任何CSS属性。特别是background(背景):
$('#myModal').data('bs.modal').$backdrop.css('background-color','orange')
请注意,$('#myModal')必须要初始化,否则$backdrop将会是null。对于bs.modal数据元素也是一样的。$('#myModal').modal();
之后添加此行代码(如果不行,则必须将其包装在 #myModal 的“shown”事件的事件侦听器中)。请注意,您可以使用 $('#myModal').data('bs.modal').$backdrop.addClass('myModal-backdrop');
(正如@Simon-Bengtsson在他的答案中所示)而不是直接在javascript中放置css样式。 - RebeccaCSS
如果这不起作用:
.modal-backdrop {
background-color: red;
}
尝试这样做:
.modal {
background-color: red !important;
}
去除 Bootstrap 模态框的背景,请尝试以下方法:
.modal-backdrop {
background: none;
}
.modal .modal-dialog .modal-content{ background-color: #d4c484; }
<div class="modal fade">
<div class="modal-dialog" role="document">
<div class="modal-content">
...
...
如果您想将背景添加到特定的模态框中,那么情况会变得有些复杂。解决这个问题的一种方法是添加并调用以下函数,而不是直接显示模态框:
function showModal(selector) {
$(selector).modal('show');
$('.modal-backdrop').addClass('background-backdrop');
}
background-backdrop
类。对于Bootstrap 4,您可能需要使用.modal-backdrop.show
并在background-color
和opacity
上使用!important
标志进行调整。
例如:
.modal-backdrop.show {
background-color: #f00;
opacity: 0.75;
}
<div class="modal fade" id="myModal">...</div>
#myModal .modal-backdrop {background-color: transparent;}
$(".modal").on('shown.bs.modal', function() {
$('.modal-backdrop').css('background', '#00000073');
});
我花了几个小时试图弄清楚如何从打开的模态窗口中去掉背景,到目前为止尝试了以下:
.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 类
.modal { background-color: transparent !important; }
现在它像魔法一样工作了 这适用于 Bootstrap 3