我有一个div,并希望它水平居中-尽管我给它的margin:0 auto;它不在中心……

.container {
    position: absolute;
    top: 15px;
    z-index: 2;
    width:40%;
    max-width: 960px;
    min-width: 600px;
    height: 60px;
    overflow: hidden;
    background: #fff; 
    margin:0 auto;
}

当前回答

你不能使用margin:auto;位置:绝对的;元素,只要删除它,如果你不需要它,但是,如果你需要,你可以使用left:30%;((100%-40%)/2)和媒体查询的最大值和最小值:

.container {
    position: absolute;
    top: 15px;
    left: 30%;
    z-index: 2;
    width:40%;
    height: 60px;
    overflow: hidden;
    background: #fff;
}

@media all and (min-width:960px) {

    .container {
        left: 50%;
        margin-left:-480px;
        width: 960px;
    }

}

@media all and (max-width:600px) {

    .container {
        left: 50%;
        margin-left:-300px;
        width: 600px;
    }

}

其他回答

你需要设置左:0和右:0。

这指定了距窗口边缘偏移的距离。

类似于'top',但指定了框的右边距与框所在块的[左/左]边的[左/右]偏移的距离。

来源: http://www.w3.org/TR/CSS2/visuren.html#position-props

注意:元素的宽度必须小于窗口的宽度,否则它将占用整个窗口的宽度。 您可以使用媒体查询来指定最小裕度,然后对于较大的屏幕尺寸转换为自动。


.container { 左:0; 右:0; margin-left:汽车; margin-right:汽车; 位置:绝对的; 宽度:40%; 轮廓:1px纯黑色; 背景:白色; } < div class = "容器" > 前额凹部。 水蛭。 连续的姿势在前额。 我们的射手,我们的眼睛,我们的眼睛,我们的眼睛。 连续的姿势在前额。 < / div >

很简单,只使用margin和left, right属性:

.elements {
 position: absolute;
 margin-left: auto;
 margin-right: auto;
 left: 0;
 right: 0;
}

你可以在这个技巧中看到更多=>如何在html- Obinb博客中设置div元素居中

.centerDiv {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align:center;
}

这在IE8中不起作用,但可能是一个可以考虑的选项。如果您不想指定宽度,它主要是有用的。

.element
{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

你不能使用margin:auto;位置:绝对的;元素,只要删除它,如果你不需要它,但是,如果你需要,你可以使用left:30%;((100%-40%)/2)和媒体查询的最大值和最小值:

.container {
    position: absolute;
    top: 15px;
    left: 30%;
    z-index: 2;
    width:40%;
    height: 60px;
    overflow: hidden;
    background: #fff;
}

@media all and (min-width:960px) {

    .container {
        left: 50%;
        margin-left:-480px;
        width: 960px;
    }

}

@media all and (max-width:600px) {

    .container {
        left: 50%;
        margin-left:-300px;
        width: 600px;
    }

}