5

搜索栏下方的内容是在用户输入一些文本后显示的。目前,风格取决于我的目标。

但是,当我显示搜索结果时,它会将容器推到搜索栏之后,如图所示:

在此处输入图像描述

我该怎么做才能显示搜索结果并重叠其下方的所有内容而不向下推动其他元素?

这是我的 HTML:

<div id="search-bar" class="box">
    <h1 class="horizontal-header">SEARCH THE DATABASE</h1>
    <div id="search-wrapper">
        <input name="query" id="name" class="big-search" placeholder="champion, item, spells..." />
        <div id="search-results">
            <a href="#">
                <div class="item">
                    <img src="http://images4.wikia.nocookie.net/__cb20091218194710/leagueoflegends/images/0/0f/JaxSquare.png" alt="" />
                    <div class="info">
                        <p class="name">Jax</p>
                        <p class="description">Champion</p>
                    </div>
                </div>
            </a>
            <a href="#">
                <div class="item">
                    <img src="http://images4.wikia.nocookie.net/__cb20091218194710/leagueoflegends/images/0/0f/JaxSquare.png" alt="" />
                    <div class="info">
                        <p class="name">Jax</p>
                        <p class="description">Champion</p>
                    </div>
                </div>
            </a>
            <a href="#">
                <div class="item">
                    <img src="http://images4.wikia.nocookie.net/__cb20091218194710/leagueoflegends/images/0/0f/JaxSquare.png" alt="" />
                    <div class="info">
                        <p class="name">Jax</p>
                        <p class="description">Champion</p>
                    </div>
                </div>
            </a>
        </div>
    </div>
</div>

还有我的 CSS(用 LESS 编写):

  #search-bar {
        width: 636px;
        height: 35px;

        #search-wrapper {
            float:left;
            margin-left: 13px;

            #search-results {
                z-index:999;
                position:relative;


                a {
                    display:block;

                    .item:hover {
                        background-color:#282828;
                    }

                    .item {
                        overflow: hidden;
                        background-color: #171717;
                        padding: 2px;
                        cursor:pointer;
                        margin-bottom:1px;

                        img {
                            float: left;
                            width: 35px;
                        }

                        .info {
                            float: left;
                            margin-left: 8px;

                            .name {
                                color: white;
                                margin: 0;
                            }

                            .description {
                                color: white;
                                margin: 0;
                            }
                        }
                    }
                }                   
            }
        }
    }
4

2 回答 2

8

使用 CSS 的绝对定位。与相对定位不同,绝对定位从文档流中删除项目(即防止它向下推其他事物。)

请记住,绝对定位的东西是相对于它最近的定位父定位的 - 所以无论绝对定位的项目所在的容器(在你的情况下)都应该设置为position:relative;

各种定位信息: http ://www.w3schools.com/css/css_positioning.asp

于 2012-04-10T13:18:16.023 回答
6

position:absolute你的.itemDIV。像这样写:

 .item {
 position:absolute;
}
于 2012-04-10T13:18:37.723 回答