modalDialog 在 css 中不滚动

modalDialog is not scrolling in css

我使用了一个 modalDialog,它的参考是: modalDialog

默认情况下,它固定在其位置。问题是当我的内容在这个模态中长大时,模态隐藏在不滚动的页面底部。如果我使用 position:absolute 它正在滚动,但主体变得丑陋并变成黑色和白色背景。有没有专家建议我解决这个问题。请不要建议我使用 bootstrap 模式。谢谢。

添加.modalDialog { overflow-y: auto; }

<!DOCTYPE html>

<head>
  <title>Creating a modal window with HTML5 &amp; CSS3</title>

  <style>
    .modalDialog {
        overflow-y: auto;
      position: fixed;
      font-family: Arial, Helvetica, sans-serif;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: rgba(0,0,0,0.8);
      z-index: 99999;
      opacity:0;
      -webkit-transition: opacity 400ms ease-in;
      -moz-transition: opacity 400ms ease-in;
      transition: opacity 400ms ease-in;
      pointer-events: none;
     }
    
     .modalDialog:target {
      opacity:1;
      pointer-events: auto;
     }
    
     .modalDialog > div {
      width: 400px;
      position: relative;
      margin: 10% auto;
      padding: 5px 20px 13px 20px;
      border-radius: 10px;
      background: #fff;
      background: -moz-linear-gradient(#fff, #999);
      background: -webkit-linear-gradient(#fff, #999);
      background: -o-linear-gradient(#fff, #999);
     }
    
     .close {
      background: #606061;
      color: #FFFFFF;
      line-height: 25px;
      position: absolute;
      right: -12px;
      text-align: center;
      top: -10px;
      width: 24px;
      text-decoration: none;
      font-weight: bold;
      -webkit-border-radius: 12px;
      -moz-border-radius: 12px;
      border-radius: 12px;
      -moz-box-shadow: 1px 1px 3px #000;
      -webkit-box-shadow: 1px 1px 3px #000;
      box-shadow: 1px 1px 3px #000;
     }
    
     .close:hover { background: #00d9ff; }
  </style>
</head>

<body>

  <a href="#openModal">Open Modal</a>

  <div id="openModal" class="modalDialog">
    <div>
      <a href="#close" title="Close" class="close">X</a>
      <h2>Modal Box</h2>
      <p>This is a sample modal box that can be created using the powers of CSS3.</p>
      <p>You could do a lot of things here like have a pop-up ad that shows when your website loads, or create a login/register form for users.</p>
    </div>
  </div>

</body>

</html>