弹出删除滚动和修复弹出块



这就是我的弹出式代码。我希望它采取整个页面(除了标题),但其余的内容是不可见的。我怎样才能做到呢?删除滚动或修复弹出块?此外,我正在寻找的方式,使标题可见没有填充,如果可能的话。我理解填充顶部的问题原因,但我需要它的头。谢谢。

如果需要,请输入

var modal = document.getElementById("myModal");
// Get the button that opens the modal
var btn = document.getElementById("myBtn");
// Get the <span> element that closes the modal
var span = document.getElementsByClassName("close")[0];
// When the user clicks the button, open the modal 
btn.onclick = function() {
modal.style.display = "block";
}
// When the user clicks on <span> (x), close the modal
span.onclick = function() {
modal.style.display = "none";
}
// When the user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}
.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
padding-top: 100px; /* Location of the box */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}
/* Modal Content */
.modal-content {
background-color: #fefefe;
margin: auto;
padding: 20px;
border: 1px solid #888;
width: 100%;
height:100%;
}
/* The Close Button */
.close {
color: #aaaaaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: #000;
text-decoration: none;
cursor: pointer;
}
.color{width:100%;
height:2000px;
background-color:blue;}
<button id="myBtn">Open Modal</button>
<div id="myModal" class="modal">
<div class="modal-content">
<span class="close">&times;</span>
<p>Some text in the Modal..</p>
</div>
</div>
<div class = "color">
</div>

模式变化:

  1. 删除padding-top
  2. 添加top: 100px-使用标题的高度
  3. 使用计算高度,即height: calc(100% - 100px)-减去标题高度。

Modal show event:

  1. 将body设置为overflow: hidden,这样它就不会滚动。

最新更新