modalDialog不在css中滚动

时间:2017-01-22 17:02:02

标签: css popup modal-dialog position

我使用的modalDialog引用是: modalDialog

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

1 个答案:

答案 0 :(得分:1)

添加.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>