当灯箱处于活动状态时,页面停止滚动

335*_*528 2 html javascript css

我有以下灯箱,其中包括一个表格.一切正常.我唯一的问题是当灯箱处于活动状态时如何使html页面停止滚动.

<a href = "javascript:void(0)" onclick="
  document.getElementById('light').style.display='block';
  document.getElementById('fade').style.display='block'">
<img src="img/add.jpg"/></a></p>
<div id="light" class="white_content">

<input name="degree_1" type="text" size="73"
   value="<?php echo $user_data_profile_education['degree_1'];?>"/>
</br></br>
Grade</br>
<input name="grade_1" type="text" size="73"
   value="<?php echo $user_data_profile_education['grade_1'];?>"/>

<a href = "javascript:void(0)" onclick="
  document.getElementById('light').style.display='none';
  document.getElementById('fade').style.display='none'"> 
</br><img src="img/done_editing.jpg"/> </a></div>
<div id="fade" class="black_overlay"></div>    
Run Code Online (Sandbox Code Playgroud)

这是我的css:

.black_overlay{
    display: none;
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 220%;
    background-color: grey;
    z-index:1001;
    -moz-opacity: 0.8;
    opacity:.80;
    filter: alpha(opacity=80);
}


.white_content {
    display: none;
    position: absolute;
    top: 45%;
    left: 30%;
    width: 32%;
    height: 51%;
    padding: 30px;
    padding-left:50px;
    border: 5px solid green;
    background-color: white;
    z-index:1002;
    overflow: auto;
}
Run Code Online (Sandbox Code Playgroud)

Kal*_*yan 12

添加溢出:当您显示灯箱时溢出到您的身体并溢出:隐藏它时自动.

  • 这会导致滚动条在隐藏时消失,这会略微扩大页面,回流文本,因此会出现难看的视觉跳跃. (3认同)
  • 这在 iOS 上不起作用。在 body 上设置 `overflow: hidden` 不会阻止它滚动。 (3认同)