2012-05-15 20 views
5

Buduję stronę internetową i głównie testuję ją w Chrome. Ostatnio zdałem sobie sprawę, że niektóre z CSS nie mają zastosowania w Firefoksie.CSS Praca w przeglądarce Chrome, ale nie Firefox (wysokość div)

myślę, że to prawdopodobnie: main {min-wysokość}

Ten jFiddle powiela ten błąd, w którym głównym div nie ma wysokość to miało. 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; 
} 

Jednak w Chrome wszystko działa idealnie, a głównym div ma min-wysokości 80%. Zastanawiam się, czy istnieje obejście tego problemu, czy też jeśli coś robię źle.

Dziękuję.

+0

Twoje skrzypce wygląda tak samo w FF i Chrome ... – Jason

Odpowiedz

7

Czy próbowałeś tworzyć body i html w 100%?
W niektórych przeglądarkach element body nie zachowuje wysokości 100%, dopóki jego zawartość nie jest pełna.

http://jsfiddle.net/HRKRN/

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

Tak, ale jak widzisz, daje pionowy pasek przewijania, prawdopodobnie z powodu marginesów. – hermann

+0

W tym przypadku po prostu używasz overflow-x: hidden; sprawdź to http://jsfiddle.net/NMBV5/ –

+0

Powoduje to inny błąd z dwoma pasami przewijania pojawiającymi się, gdy strona faktycznie musi używać pionowego paska przewijania. Przypuszczam, że moje ciało już miało przepełnienie-y: przewiń; Ale dzięki za pomoc. Udało mi się rozwiązać problem, ustawiając ciało nieco poniżej 100%. – hermann

2

również możliwe rozwiązanie, które pracowały dla mnie: ustawić wyświetlanie div do table-cell.

Powiązane problemy