去除bootstrap模态框半透明阴影

时间:2023-03-08 21:26:50

  当使用bootstrap模态框默认自带半透明阴影,如果想要去除阴影,需要怎么做呢?

  今天在项目中我遇到了这个问题,想要去除模态框的阴影,试了好久都没解决。后来问同事的时候才知道,当模态框弹出后,会加上这样一句代码:

  <div class="modal-backdrop  in"></div>

  案例:自带半透明阴影的模态框

  

 <!DOCTYPE html>
<html> <head>
<meta charset=UTF-8>
<title>自带半透明阴影的模态框</title>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"> </head> <body>
<button class="btn btn-primary" type="button" id="test">点击我显示模态框</button> <div class="modal" id="my-modal-alert">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
<span aria-hidden="true">&times</span><span class="sr-only">Close</span>
</button>
<h4 class="modal-title" id="modal-title">模态框</h4><span id="num"></span>
</div>
<!--/*modal-header*/-->
<div class="modal-body">
<div id="modal_message">有半透明阴影的模态框</div>
</div>
<!--/*modal-body*/-->
<div class="modal-footer" id="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" >保存</button>
<!--/*modal-body*/-->
</div>
<!--/*modal-footer*/-->
</div>
<!--/*modal-dialog*/-->
</div>
<!--/*modal-content*/-->
</div>
<!--/*modal*/-->
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script>
$(function() {
$("#test").click(function(){
$("#my-modal-alert").modal("toggle");
});
});
</script>
</body> </html>

  如图:

去除bootstrap模态框半透明阴影

   要想去除模态框的阴影,只要删除<div class="modal-backdrop in"></div>这个div元素。

  案例:去除模态框的半透明阴影

  

 <!DOCTYPE html>
<html> <head>
<meta charset=UTF-8>
<title>自带半透明阴影的模态框</title>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"> </head> <body>
<button class="btn btn-primary" type="button" id="test">点击我显示模态框</button> <div class="modal" id="my-modal-alert">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
<span aria-hidden="true">&times</span><span class="sr-only">Close</span>
</button>
<h4 class="modal-title" id="modal-title">模态框</h4><span id="num"></span>
</div>
<!--/*modal-header*/-->
<div class="modal-body">
<div id="modal_message">有半透明阴影的模态框</div>
</div>
<!--/*modal-body*/-->
<div class="modal-footer" id="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" >保存</button>
<!--/*modal-body*/-->
</div>
<!--/*modal-footer*/-->
</div>
<!--/*modal-dialog*/-->
</div>
<!--/*modal-content*/-->
</div>
<!--/*modal*/-->
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script>
$(function() {
$("#test").click(function(){
$("#my-modal-alert").modal("toggle"); $(".modal-backdrop").remove();//删除class值为modal-backdrop的标签,可去除阴影
});
});
</script>
</body> </html>

  红色加粗部分的代码是用来删除删除class值为backdrop的标签,实现去除阴影的效果。

  另外有一个需要注意的地方是,上面红色加粗部分的代码只能写在模态框弹出以后,才能起到效果。原因是,<div class="modal-backdrop  in"></div>这句代码是模态框弹出后才加上去的。

  

  要记得:引入bootstrap.min.js前一定要先引入jquery库。

  另外我还有一个疑问是,当我一开始就设置模态框为show状态,那么这个时候模态框也是没有带半透明阴影的,而当我设置模态框初始为隐藏的,点击按钮才弹出时,模态框则会自带阴影。

  

 如果哪位看到这篇文章,并且正好知道这个问题的答案,还希望您能分享解决方法,解决我的疑惑。谢谢!