2012-04-10 9 views
5

I contenuti sotto la barra di ricerca sono pensati per essere visualizzati dopo che gli utenti hanno inserito del testo. Attualmente lo stile non è all'altezza di ciò a cui tengo.Come fare una div sovrapposizione ad altre div?

Tuttavia quando ho visualizzare i risultati della ricerca, spinge il contenitore seguente la barra di ricerca, come illustrato dalla mia immagine:

enter image description here

Cosa posso fare che il display risultati di ricerca e appena si sovrappongono tutto al di sotto è senza spingendo verso il basso altri elementi?

Ecco il mio 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> 

E la mia CSS (scritto con meno):

#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; 
          } 
         } 
        } 
       }     
      } 
     } 
    } 

risposta

8

Usa CSS di Absolute Positioning. A differenza del posizionamento relativo, il posizionamento assoluto rimuove l'elemento dal flusso del documento (cioè impedendo di spingere altre cose verso il basso)

Basta ricordare, qualcosa che è posizionato in modo assoluto è posizionato rispetto al suo padre posizionato più vicino - quindi, qualunque sia il contenitore il oggetti posizionati assoluti sono in (nel tuo caso) deve essere impostato su position:relative;

Informazioni su tutti i tipi di posizionamento: http://www.w3schools.com/css/css_positioning.asp

6

Dare position:absolute al vostro .item DIV. Scrivi come segue:

.item { 
position:absolute; 
} 
+0

Questo funzionava, grazie! :) –

Problemi correlati