html - 模态不以屏幕为中心,css

标签 html css

当我在同一页面上使用 serverel 模态时,我在以模态为中心时遇到了一些问题。

所以每当我按下圆圈内的按钮时,模式就会打开。页面上有 6 个模态框,当然每个模态框都有唯一的 ID。

在下图中,您会看到第一个模型是 centeret - 只需为此使用 hack。

enter image description here

但是当我按下另一个模型弹出时,它没有居中,如下所示:

enter image description here

所以在我看来,javascript 没有考虑屏幕的宽度或类似的东西。

以下是模态的 CSS:

element {
    opacity: 1;
    visibility: visible;
    left: 50%;
}
.reveal-modal {
    top: -180px !important;
    width: 750px;
    background: url("modal-gloss.png") no-repeat scroll -200px -80px #EEE;
    position: absolute;
    z-index: 101;
    padding: 30px 40px 34px;
    border-radius: 5px;
}

如您所见,我使用的是百分比,但问题仍然存在。这个模态有什么问题,因为它没有将所有模态居中?

最佳答案

如果你想让一个绝对定位的元素居中,这里的代码每次都有效,不需要修改(没有负边距和 50% 的偏移量),它总是在其内部垂直和水平居中家长:

.element {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
}

看这里:

.element {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
  width: 100px;
  height: 100px;
  background: #eee;
}
<div class="element">Centered</div>

关于html - 模态不以屏幕为中心,css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27927575/

相关文章:

css - 删除 <li> 中的填充而不影响列表的其余部分

css - 从无显示切换到显示 block 时,Emberjs 组件操作未触发

html - Bootstrap 表样式无法正常工作

html - 使用所有输入类型

html - IE7 及更早版本中的溢出问题

javascript - 风格化文本区域看起来像单独的输入框

jquery - CSS jQuery 顺序问题

jquery - 在使用 jquery 加 css 单击向左或向右滑动 div

javascript - 视频未显示在 Bootstrap 模式中

CSS 掩码在 Angular 5 中无法正常工作