2010-01-12 17 views
5

Mam ten zestaw html i css. Chcę, aby małe bloki gadżetów unosiły się w lewo, ale w środku bezwzględnie umieszczonego opakowania gadżetu.Center floating divs inside of absolute position div

Opakowanie gadżetów jest ustawione bezwzględnie na dole strony. Zawiera x liczby gadżetów, które znajdują się wewnątrz opakowania.

Wszystkie te gadżety powinny być wyśrodkowane wewnątrz opakowania - czy to możliwe i jak ...? To naprawdę mnie zabija ....

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

Odpowiedz

7

Czy próbowałeś dokonywania gadget elementy inline i dopasowując je do centrum z o tekst wyrównać?

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

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

To może zadziałać, po prostu nie jestem pewien, jak zachowają się elementy wewnątrz bloku (nie jestem w stanie przetestować tego teraz). Możesz także wypróbować inline-block zamiast inline.

+0

HA! inline-block działał idealnie! – Riri

+0

Nie działa w IE5.5, 6 ani 7 zgodnie z IETester. Po prostu układają się na sobie, działają doskonale we wszystkim innym. – Alex

+0

To mi tylko pomogło .. Pomyślałem, że dam ci znać. – webb

3

display: inline-block; działa z pierwszą odpowiedzią. upewnij się, że usunąłeś float: left;