我正在使用 CSS Modal(没有 jQuery,我也没有编写代码 - 编写代码的人多年来没有回复源代码,假设我不会在那里得到回复。我想知道是否有一种防止它到达页面顶部的方法。
<style type="text/css">
.modalDialog<?php echo $photoID; ?> {
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<?php echo $photoID; ?>:target {
opacity:1;
pointer-events: auto;
}
.modalDialog<?php echo $photoID; ?> > 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<?php echo $photoID; ?> {
background: #bb0000;
color: #FFFFFF;
line-height: 25px;
position: absolute;
right: 4px;
text-align: center;
top: 4px;
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<?php echo $photoID; ?>:hover { background: #00d9ff; }
</style>
<div id="openModal<?php echo $photoID; ?>" class="modalDialog<?php echo $photoID; ?>">
<div>
<a href="#close" title="Close" class="close<?php echo $photoID; ?>">X</a>
<h2>Modal Box</h2>
<img src="/images/<?php echo $memberID.'/'.$album.'/'.$photo; ?>"> </center><p style=\"text-align:center\"><?php echo $description; ?></p></p>
</div>
</div>
非常感谢您的帮助。谢谢你,祝你复活节快乐! :)
最佳答案
如果不查看您的其余代码,我怀疑此行为是由点击源中的 href="#"
属性引起的。您可以尝试删除标签,但对其进行样式设置,使其具有 cursor: pointer
和其他样式,使其看起来对用户而言可点击。您可以为此使用一个 CSS 类(即“可点击”)。
编辑:也许您可以提供一些信息,说明您的布局是如何设置的,以及这种行为发生的确切时间,以便我们提供更有效的帮助。
关于css - 防止 CSS Modal 滚动到顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29458853/