将绝对div放在一个相对的一侧

时间:2012-12-28 02:36:34

标签: html css position

我正在尝试将绝对对象放在相对对象旁边。初始对象导致相对div换行到下一行。

除了标志迫使标题移动到新的“线”之外,一切都按预期工作。如果我将#logo div更改为position:absolute我可以修复定位问题,但我的徽标悬停不再起作用。

编辑:这是一个现场演示:http://vaer.ca/warm-forest-8234/

这是我的HTML:

<div id="container">

        <a href="index.html" id="logo"></a>

        <div id="header">

            <h2><a href="index.html">Collectif</a></h2>

        </div>  

        <div id="nav">
            <ul>
                <li><a href="#">About</a></li>
                <li><a href="#">Services</a></li>
                <li><a href="#">Work</a></li>
            </ul>
        </div>

这是我的CSS:

#container {
    width: 980px;
    margin: 0 auto;
    position: relative;
    }

#header {
    height: 75px;
    text-align: right;
    position: relative;
    }

#header h2 {
    font-size: 2.5em;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding-top: 15px;
    }

#header a {
    text-decoration: none;
    color: #000000;
    -o-transition:.5s;
    -ms-transition:.5s;
    -moz-transition:.5s;
    -webkit-transition:.5s;
    transition:.5s;
    }

#header a:hover {
    color: #7acfdd;
    }

#logo {
    position: relative;
    display: block;
    margin-top: 10px;
    margin-left: 10px;
    background: url('../img/logo.png') no-repeat;
    width: 60px;
    height: 60px;
    -o-transition:.5s;
    -ms-transition:.5s;
    -moz-transition:.5s;
    -webkit-transition:.5s;
    transition:.5s;
    }

#logo:hover {
    position: relative;
    background: url('../img/logo-hover.png') no-repeat;
}

3 个答案:

答案 0 :(得分:0)

尝试:

#logo {
    float: left;
}

答案 1 :(得分:0)

我会说:

#logo {
    float: left;
    position: relative;
}

#header {
    height: 75px;
    text-align: right;
    position: relative;
    clear:both;
}

使用浮子就好了:左;和位置:相对; (当我需要将div放在另一个上面时,我总是使用它,因为当你使用一个位置时:相对;你可以应用一个z-index)

答案 2 :(得分:0)

您已将#logo链接设为display:block,强制<a>元素占用整个空间。通过使用开发人员工具查看它。您可以执行以下操作来解决所有问题,并使其更具语义性。

#logo{
display:inline-block;
}
#header{
display:inline-block;
float:right
}

这些更改将为您提供所需的结果。