CSS位置:绝对位置:相对“顶部”不起作用

时间:2012-08-13 04:42:43

标签: css css-position

我正在使用position:relative div包含position:absolute divs的网站上工作。我理解我相信的概念,一切都很好,除了我似乎无法获得top属性做任何事情。左边工作,但不是顶部。我的代码如下:

<div id="imagemenu">
    <div class="west">
        <img src="/makingmusicstore/wp-content/themes/makingmusic/img/west.png" alt="west">
    </div>
    <div class="southwest">
        <img src="/makingmusicstore/wp-content/themes/makingmusic/img/southwest.png alt=" southwest ">
    </div>
    <div class="south ">
        <img src="/makingmusicstore/wp-content/themes/makingmusic/img/south.png " alt="south ">
    </div>
    <div class="logo ">
        <img src="/makingmusicstore/wp-content/themes/makingmusic/img/logo.png " alt="Making Music Store ">
    </div>
</div>

CSS

#imagemenu {
    position: relative;
}
.logo img {
    position: absolute;
    width: 20%;
    top: 50%;
    left: 40%;
}
.west img {
    position: absolute;
    width: 30%;
    left: 15%;
}
.southwest img {
    position: absolute;
    width: 30%;
    left: 15%;
}
.south img {
    position: absolute;
    left: 35%;
}

该网站是adams-web.net/makingmusicstore,目前是一团糟,直到我可以获得顶级属性。在我看来,徽标应该在页面上更远,但它不起作用,因为我认为它应该。我不确定我错过了什么。当我将位置更改为静态时,它确实有效,但它不能正确保持位置。

2 个答案:

答案 0 :(得分:11)

嘿现在定义您的父 div height ,而不是在% div

中使用的顶部absolute

像这样:

.parent {
    position: relative;
    height: 100px;
}
.child {
    position: absolute;
    top: 50%;
}

如果您没有定义父div高度而不是用于px value in top

.child {
    top: 100px;
}

答案 1 :(得分:5)

widthheight添加到#imagemenu

例如:

#imagemenu {
    width: 100%;
    height: 400px;
}

然后再次检查position: absolute是否有效。