帮助我定位css

时间:2011-02-06 16:34:10

标签: jquery html css web

我使用html和css但不熟悉css定位。这是一个完整的想法。假设当我悬停在链接中时我有一个图像链接我需要显示一个div,我将呈现该项目的一些信息。我知道应该通过绝对定位来完成。但这不适合我。让我展示一下设计:

http://beta.citystir.com/wp-content/uploads/2011/02/sadf.jpg

到目前为止,我的工作可以在这里看到:http://beta.citystir.com/static/

这是Html。我已经显示了一个项目的代码。 Hover_preview将是悬停时应显示的整个div。我现在不介意悬停效果,因为我将通过javascript进行操作。只帮助我如何正确显示div。

<ul id="featured_classifields">
                    <div id="fcf_wraper">    

<li>
                        <a href="#"><img src="images/temp/featured-thumb.png" title="" alt="" width="135" height="90" /></a>
                            <div class="hover_preview">
                                <div class="hover_preview_main">
                                </div>
                                <div class="hover_preview_arrow"></div>
                            </div>
                        </li>
                        <li>
</div>
</ul>

的CSS:

ul#featured_classifields{
    margin: 0 30px;
    height:95px;
    overflow:hidden;
    position:relative;
}

#fcf_wraper{
    width:1600px;
    height:90px;
}

ul#featured_classifields li{
    float:left;
    width:135px;
    height:90px;
    background:#ddd;
    display:block;
    margin: 8px 8px 5px 0;
    position:relative;
}    

.hover_preview{
        position:absolute;
        z-index: 5;
        bottom:100%;
}

.hover_preview_main{
        background: #000;
        width:400px;
        height: 300px;
    }

    .hover_preview_arrow{
    }

代码的一些细节: ul保持完整的滑块。比所有li都用div包装#fcf_wraper它的宽度等于我将通过javascript确定的所有li,但是现在我只是放了一个值。为了不显示包装器的额外部分,我将溢出设置为隐藏。问题是当我将溢出设置为隐藏时,div“hover_preview”也被隐藏了:(

希望得到你的帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

做这样的事情:

 $("#fcf_wraper img").hover(
                function () {
                    $("div.hover_preview").css({
                        position: "absolute",
                        left: $(this).offset().left + "px",
                        top: $(this).offset().top - $("div.hover_preview").outerHeight() + "px",
                        display: "block"
                    });
                }, 
                function () {
                    $("div.hover_preview").hide();
            });