左边的css边距,在px中工作,但不在%

左边的css边距,在px中工作,但不在%,css,margin,Css,Margin,任何人都知道此代码不起作用的原因: #interieur{ display: inline-block; position: absolute; left:50%; } 而这一个呢 #interieur{ display: inline-block; position: absolute; left:500px; } 我使用的是PHP,div“interieur”位于echo中如果可以指定div的宽度,请尝试以下操作: width: 500px

任何人都知道此代码不起作用的原因:

#interieur{
    display: inline-block;
    position: absolute;
    left:50%;
}
而这一个呢

#interieur{
    display: inline-block;
    position: absolute;
    left:500px;
}

我使用的是PHP,div“interieur”位于echo中

如果可以指定div的宽度,请尝试以下操作:

width: 500px; /* insert width here */
margin: 0 auto;

它不起作用,因为您忘记了在左侧位置减去一半的div宽度(想想看,如果左侧为50%,右侧为50%,则div宽度为0%:)

您可以使用CSS3 Calc获得结果,在了解div的维度之前:

#interieur{
    display: inline-block;
    position: absolute;
    left:calc(50% - 100px); /* 100px is half of your div width */
    border: 1px solid #ccc;
    width: 200px;
    height: 200px;
}

演示:

删除
显示:内联块。什么不起作用?什么是预期行为和观察到的行为是什么?我希望div位于屏幕中间,但是它在左边,但是当我尝试500像素而不是50%时,它就工作了。我也在尝试一个非php页面,它与50%@Mooseman一起工作。没有它,它仍然无法工作:(它对我有效,没有任何更改。请看这里的提琴:(我添加了边框、宽度和高度以供演示。)你确定没有其他样式与之冲突吗?谢谢,但我的div中有一个图像会发生变化,所以我确实减掉了一半,但在jquery中,这是对原始问题的回答:“css边距左边,在px中工作,但在%…有人知道为什么这个代码不工作吗?”.现在你问的是不同的问题,那应该是不同的问题