垂直和水平居中多个DIV

时间:2014-11-16 23:27:56

标签: html css html5 css3

我在div.slides内有两个div.modal。我希望使用translateXtranslateY方法垂直和水平放置它们,这样它们就会居中,一个在另一个之上/之后。问题是我当前的代码会依次绘制它们:

the problem

我怎样才能让它们成为中心(一个接一个)?

这是CSS代码:

.oa-modal {
    top: 50%;
    left: 50%;
    min-width: 320px;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);

    position: fixed;
    height: auto;
}

.oa-slides {
    position: relative;
}
.oa-slide {
    position: relative;
    margin: 0 auto;
}

.oa-slide-1 {
    width: 120px;
    height: 50px;
    background-color: yellow;
}

.oa-slide-2 {
    width: 200px;
    height: auto;
    background-color: red;
}

和HTML:

<div class="oa-modal">

    <div class="oa-slides">
        <div class="oa-slide oa-slide-1">
            slide 1
        </div>

        <div class="oa-slide oa-slide-2">
            <p>slide</p>
            <p>2</p>
        </div>
    </div>
</div>

这里还有一个JSFiddle链接: http://jsfiddle.net/9qmdyuj0/

1 个答案:

答案 0 :(得分:0)

不确定这是否是您要找的。

   <html>
    <head>
    <style type="text/css">
    .oa-modal {
    top: 50%;
    left: 50%;
    min-width: 320px;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    position: fixed;
    height: auto;
    }

    .oa-slide {
    position: relative;
    margin: 0 auto;
    }

    .oa-slide-1 {
    width: 50px;
    height: 50px;
    background-color: yellow;
    border:1px solid green;
    z-index:100;
    position:fixed;
    top:50%;left:50%;
    transform: translate(-50%, -50%);
    }

    .oa-slide-2 {
    width: 200px;
    height: auto;
    background-color: red;
    border:1px solid blue;
    }
    </style>
    </head>
    <body>
    <div class="oa-modal">
    <div class="oa-slides">
    <div class="oa-slide oa-slide-1">
    slide 1
    </div>
    <div class="oa-slide oa-slide-2">
    <p>slide</p>
    <p>2</p>
    </div>
    </div>
    </div>
    </body>
    </html>

如果有帮助,请告诉我。

由于