如何将绝对定位的元素居中?

时间:2013-10-13 08:42:52

标签: html css css-position centering

div {
    width: 400px;
    height: 400px;
    background: yellow;
    z-index: 99;
    margin: 0 auto;
}

我有一个div pop消息,它将位于顶层并位于页面中间位置。

但是,如果我设置position:absolute; z-index:99;它将位于顶部,但margin:0 auto;将不起作用。

如何将它保持在图层顶部并在中间显示?

1 个答案:

答案 0 :(得分:6)

使用两个嵌套元素(demo)对已应用position: absolute;的元素进行居中处理。

  1. 第一个元素定位为绝对以将其置于所有其他元素之上
  2. 第二个元素就像您期望的那样:使用 margin: 0 auto;集中
  3. <强> HTML:

    <div class="outer-div">
        <div class="inner-div">
            <p>This is a modal window being centered.</p>
        </div>
    </div>
    

    <强> CSS:

    .outer-div {
        position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
        z-index: 13;
    
        /*
         * Setting all four values to 0 makes the element as big
         * as its next relative parent. Usually this is the viewport.
         */
    }
    
    .inner-div {
        margin: 0 auto;
        width: 400px;
        background-color: khaki;
    }