2010-01-12 16 views
5

Ho questo set di html e css. Quello che voglio è avere i piccoli blocchi di gadget che rimangono a sinistra ma centrati all'interno del gadget-wrapper posizionato in assoluto.Centro flottante div all'interno del div posizionato in posizione assoluta

Quindi, il wrapper del gadget è posizionato in modo assoluto nella parte inferiore di una pagina. Contiene il numero x di gadget che galleggiano a sinistra all'interno del wrapper.

Tutti questi gadget devono essere centrati all'interno dell'involucro - è possibile e come ...? Questo è davvero mi sta uccidendo ....

HTML

<div id="gadget-wrapper"> 
    <div class="gadget"> 
     <h2>1</h2> 
     <div class="value-holder critical">not set</div> 
     <div class="value-holder non-critical">not set</div> 
    </div> 
    <div class="gadget"> 
     <h2>2</h2> 
     <div class="value-holder critical">not set</div> 
     <div class="value-holder non-critical">not set</div> 
    </div> 
    <div class="gadget"> 
     <h2>3</h2> 
     <div class="value-holder critical">not set</div> 
     <div class="value-holder non-critical">not set</div> 
    </div> 
</div> 

CSS

#gadget-wrapper { 
    width: 900px; 
    font-family: "Century Gothic"; 
    color: #FFF; 
    position: absolute; 
    bottom: 10px; 
    outline: 1px solid green; 
} 

.gadget h2 { 
    margin: 0px; 
    font-weight: normal; 
    font-size: 16px; 
} 

.gadget { 
    min-width: 120px; 
    margin-right: 10px; 
    padding: 5px; 
    -webkit-border-radius: 10px; 
    background-color: #383838; 
    opacity: 0.75; 
    float: left; 
    border: 4px solid #000; 
} 

.value-holder.critical.active { 
    color: #FF0000; 
} 

.value-holder.non-critical.active { 
    color: #FFFF00; 
} 

.value-holder { 
    font-size: 28px; 
    float: left; 
    width: 50%; 
    text-align: center; 
} 

risposta

7

Hai provato rendendo le gadget elementi in linea e allineandoli al centro con testo- allineare?

#gadget-wrapper { 
    ... 
    text-align: center; 
} 

.gadget { 
    display: inline; 
    float: none; 
} 

Questo potrebbe funzionare, solo che non sono sicuro di come gli elementi a livello di blocco all'interno si comporteranno (io sono in grado di testare questo momento). Puoi anche provare inline-block invece di inline.

+0

HA! blocco in linea ha funzionato perfettamente! – Riri

+0

Non funziona in IE5.5, 6 o 7 secondo IETester. Si impilano l'uno sull'altro, ma funzionano perfettamente in tutto il resto. – Alex

+0

Questo mi ha aiutato ... ho pensato di farti sapere. – webb

3

display: inline-block; funziona con la prima risposta. assicurati di aver rimosso float: left;

Problemi correlati