如何为居中的浮动确认对话框设计 CSS?

Posted

技术标签:

【中文标题】如何为居中的浮动确认对话框设计 CSS?【英文标题】:How to design a CSS for a centered floating confirm dialog? 【发布时间】:2010-11-15 09:10:39 【问题描述】:

我正在寻找一种方法来显示始终位于页面中心并浮动在页面上的确认对话框。

试过了,但它根本不是“始终居中”,因为位置是固定的:

.Popup

    text-align:center;
    position: absolute;
    bottom: 10%;
    left: 27%;
    z-index:50;
    width: 400px;
    background-color: #FFF6BD;
    border:2px solid black;

有什么想法吗? 谢谢

【问题讨论】:

【参考方案1】:

尝试使用这个 CSS

#centerpoint 
    top: 50%;
    left: 50%;
    position: absolute;


#dialog 
    position: relative;

    width: 600px;
    margin-left: -300px;

    height: 400px;
    margin-top: -200px;

<div id="centerpoint">
    <div id="dialog"></div>
</div>

#centerpoint应该是对话框的容器div

注意 #centerpoint DIV 应该在 body 元素内或在没有 的元素内>位置:相对;属性

【讨论】:

我试过了,IE、Firefox、Chrome、Safari、Opera都可以用。【参考方案2】:

CSS3 转换可用于避免硬编码的宽度和边距:

.dialog 
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);

用法示例:http://tympanus.net/codrops/2013/06/25/nifty-modal-window-effects/

【讨论】:

【参考方案3】:

与@Toma 的回答相比,你可以在一个元素上做到这一点

#theDiv 
    position: fixed;
    top: 50%;
    left: 50%;
    width: 200px;
    margin-left: -100px;
    height: 50px;
    margin-top: -25px;
    background: yellow;
&lt;div id="theDiv" /&gt;

这使您可以将其放置在页面上的任何位置,而不管父容器及其position 属性如何。

【讨论】:

【参考方案4】:
.Popup

width:400px;
margin-left:auto;
margin-right:auto;

这是水平对齐;垂直对齐有点棘手。 只需谷歌搜索“css 垂直中心”或其他内容。

【讨论】:

只在它的父容器中居中对话框。但它不会将其浮动在页面上。

以上是关于如何为居中的浮动确认对话框设计 CSS?的主要内容,如果未能解决你的问题,请参考以下文章

如何为word文档中的表格设置同样高度的行高?

如何为 gps 使用特定对话框?

如何为自定义对话框设置边距?

CSS水平居中的9种方法

css 确认对话框

如何为 Android Holo Theme 样式的对话框按钮