模态框最大化
这里旨在对模态框增加最大化的功能(因为是模态框的原因,在保留模态框的一些样式基础上做最大化处理)。css和绑定事件的js可以放到通用的文件当中,模态框新增最大化按钮即可。

<div class="modal fade" id="myModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h6 class="modal-title" id="myModalLabel">标题</h6>
<div class="float-end">
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
<button type="button" class="modal-fullscreen-btn"><i class="mdi"></i></button>
</div>
</div>
<div class="modal-body">
内容
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary">保存</button>
</div>
</div>
</div>
</div>
新增样式:
.modal-fullscreen-btn {
border: none;
background-color: transparent;
color: #000;
opacity: 0.6;
font-size: 22px;
line-height: 1.3;
font-weight: 700;
margin: -0.5rem -0.5rem -0.5rem auto;
}
.modal-fullscreen-btn .mdi:before {
width: 1.5rem;
height: 1.5rem;
vertical-align: middle;
content: "\f0293";
line-height: 1;
}
.modal-fullscreen-btn:hover {
opacity: .8;
}
.modal-fullscreen {
padding-left: 0px!important;
}
.modal-fullscreen .modal-fullscreen-btn {
opacity: .95;
}
.modal-fullscreen .modal-fullscreen-btn .mdi:before {
content: "\f0294";
}
.modal-fullscreen .modal-dialog {
width: -webkit-calc(100% - 20px);
width: calc(100% - 20px);
max-width: calc(100% - 20px);
margin: 8px auto;
}
.modal-fullscreen .modal-dialog .modal-body {
height: -webkit-calc(100vh - 56px - 69px - 20px);
height: calc(100vh - 56px - 69px - 20px);
overflow-y: auto;
}
新增js:
$(document).ready(function() {
$(document).on('click', '.modal-fullscreen-btn', function(){
$(this).closest('.modal').toggleClass('modal-fullscreen');
});
});
因为这里做演示用,所以用了 $(document).ready(function(){});,如果放到 main.min.js 里面的时候,去掉这一层,把里面的 click 事件绑定放进去。
;jQuery( function() {
// 内容放到这里
});
插件项目中页面名字:lyear_layout_modal_maximize.html