Mic*_*elS 2 html css asp.net jquery
我有一个带有 aform和 a的页面div:
<body>
<form id="form1" runat="server">
...
</form>
<div id="wizardDiv" style="width: 100%; height: 100%;background-color:black;display:none">
<div style="background-color:#8DA5C6; z-index:999; width: 50%; margin: 0 auto;">
...
</div>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
单击按钮时,我使div可见,并且我希望它覆盖整个页面,而内部div正好位于中间(在中心,水平和垂直。)就像一个弹出式 modal。
举例说明:

当前的 html 失败如下:
div不覆盖整个页面,它位于 之后form,而是覆盖它。div仅水平居中,而不是垂直居中。我在这里缺少什么?
我的方法是“浏览器兼容性”安全吗?(也许我应该寻找 Jquery 解决方案?)
最终解决方案:
我最终使用了:
使用稍微不同的标记和 css 来定位您的叠加层和弹出窗口。
像这样构建一个简单的标记:
<form id="form1" runat="server">
...
</form>
<div id="overlay"></div>
<div id="popup">Popup</div>
Run Code Online (Sandbox Code Playgroud)
请注意,我没有将弹出窗口放在叠加层中。虽然这样做没有坏处,但如果您想使用 css opacity 设置覆盖样式,其中包含的所有内容也将是半透明的。
然后使用以下 CSS:
#overlay {
position: absolute;
top:0;
left:0;
bottom:0;
right:0;
width:100%;
height:100%;
z-index:998;
background-color: Black;
opacity: .5;
}
#popup {
position: absolute;
width:50%;
background-color:#8DA5C6;
z-index: 999;
}
Run Code Online (Sandbox Code Playgroud)
position: absolute离开页面流。top, left, right, bottom, width, heightz-index,您可以让它们保持在其他事物之上。覆盖层较低,弹出窗口较高您可以查看此小提琴以获取工作示例。
笔记:
这不会使弹出窗口居中。这样做需要更多的工作,而且有点复杂(是否有固定大小的弹出窗口,如果在调整窗口大小时弹出窗口保持居中...)。
我猜它需要一些javascript。
您不能margin: 0 auto;在绝对定位元素上使用。
| 归档时间: |
|
| 查看次数: |
12912 次 |
| 最近记录: |