0

我正在使用以下 Javascript 和 CSS 来创建弹出窗口:

<script type="text/javascript">
    Sys.debug = true;
    var popup;
    Sys.require(Sys.components.popup, function () {
        popup = Sys.create.popup("#popup", {
            parentElementID: "target",
        });
    });
    var popup2;
    Sys.require(Sys.components.popup, function () {
        popup2 = Sys.create.popup("#popup2", {
            parentElementID: "target",
        });
    });
</script>

#popup
{
    width: 400px;
    height: 250px;
    overflow: scroll;
    background-color: #EAFDB3;
    border: solid 2px black;
}
#popup2
{
    width: 400px;
    height: 250px;
    background-color: #EAFDB3;
    border: solid 2px black;
}

这些弹出窗口出现的位置是通过以下方式完成的:

 <span id="target" style="position: absolute; top: 50%; left: 50%; margin-top: -50px; margin-left: -100px;"></span>

弹出窗口的内容介于:

<div id="popup" style="background: #EAFDB3; color: #000; padding: 15px; margin: 0px">CONTENT </div>

无论分辨率如何,如何让这个弹出窗口在屏幕中间弹出?

4

3 回答 3

2

将顶部设置为 50%,左侧设置为 50%。然后有一个负左边距,它是弹出窗口宽度的一半,一个负上边距是弹出窗口高度的一半。你所拥有的似乎很接近......

但是margin-top应该是-125px,margin-left应该是-200px,给定一个400x250大小的弹出窗口。

于 2013-08-02T16:10:35.907 回答
2

对于动态大小的弹出窗口,请考虑将您的内容包装在 div.vc-outer 和 div.vc-inner 中。

CSS

.vc-outer {
  display: table;
  position: fixed;
  width: 100%;
  height: 100%; }

.vc-inner {
  display: table-cell;
  text-align: center;
  vertical-align: middle; }

.popup {
  display: inline-block; }

HTML

<div class="vc-outer"><div class="vc-inner">
  <div class="popup">Hey!</div>
</div></div>
于 2013-08-02T16:34:25.053 回答
0

您正在提供内联样式(甚至相同的属性)以及使用 ID。我建议只做一次,然后使用 ID。

于 2013-08-02T16:25:31.397 回答