2012-05-15 14 views
5

Ho costruito un sito Web e principalmente lo collaudo in Chrome. Recentemente ho realizzato che alcuni dei CSS non si applicano a Firefox.CSS che funziona in Chrome ma non in Firefox (altezza div)

Credo che probabilmente: main {min-height}

Questo jFiddle riproduce questo errore, in cui il div principale non ha l'altezza che si suppone. http://jsfiddle.net/msW9m/

HTML:

<div id='main'></div> 
<div id="container"></div> 
<div id='footer'> 
    <div id='footerRelative'>Development by <a href='mailto:'>John Doe</a></div> 
</div>​ 

CSS:

#main { 
    min-height: 80%; 
    height: auto; 
    border: 1px solid #bbbbbb; 
    margin: 3% 5% 1%; 
    padding: 10px 10px; 
} 
#footer { 
    position: absolute; 
    left: 50%; 
} 
#footerRelative { 
    position: relative; 
    left: -50%; 
    font-size: 80%; 
} 
/*Probably Irrelevant*/ 
#container { 
    margin: 0 auto; 
    margin-top: -300px; 
    margin-left: -261px; 
    position: absolute; 
    top: 50%; 
    left: 50%; 
    width: 523px; 
    height: 600px; 
    background-image: url('../images/doctorSymbol.jpg'); 
    background-repeat:no-repeat; 
    background-position:center; 
    opacity: 0.125; 
    overflow: hidden; 
    z-index: -1; 
} 

Tuttavia, in Chrome tutto funziona perfettamente e il div principale ha un min-height del 80%. Mi stavo chiedendo se c'è una soluzione a questo o Se sto facendo qualcosa di sbagliato.

Grazie.

+0

il tuo violino ha lo stesso aspetto in FF e Chrome ... – Jason

risposta

7

Hai provato a fare body e html al 100%?
In alcuni browser, l'elemento body non mantiene il 100% di altezza finché il suo contenuto non è pieno.

http://jsfiddle.net/HRKRN/

html, body { 
    height: 100%; 
} 
+0

Sì, ma come vedi, si ottiene una barra di scorrimento verticale, probabilmente a causa dei margini. – hermann

+0

In questo caso, utilizzi solo body overflow-x: hidden; check it out http://jsfiddle.net/NMBV5/ –

+0

Ciò provoca un diverso bug con due barre di scorrimento che appaiono quando la pagina deve effettivamente utilizzare la barra di scorrimento verticale. Suppongo che il mio corpo avesse già overflow-y: scroll; Ma grazie per l'aiuto. Sono riuscito a risolvere il problema impostando il corpo un po 'meno del 100%. – hermann

2

anche una possibile soluzione che ha funzionato per me: impostare il display del div a table-cell.

Problemi correlati