6

我一直在建立一个网站,主要是在 Chrome 中进行测试。最近我意识到一些 CSS 不适用于 Firefox。

我想这可能是:main { min-height }

这个 jFiddle 重现了这个错误,主 div 没有它应该的高度。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;
}

然而,在 Chrome 中一切正常,主 div 的最小高度为 80% 。我想知道是否有解决方法或者我做错了什么。

谢谢你。

4

3 回答 3

8

您是否尝试过将 body 和 html 制作为 100%?
在某些浏览器中,body 元素在其内容已满之前不会保持 100% 的高度。

http://jsfiddle.net/HRKRN/

html, body {
    height: 100%;
}
于 2012-05-15T18:46:32.967 回答
2

还有一个对我有用的可能解决方案:将 div 的显示设置为table-cell.

于 2014-04-09T17:32:52.177 回答
0

使用 CSS3 来解决这个问题

http://pastebin.com/Q8727Kvt

使用 CSS 3 垂直对齐

于 2013-08-08T14:49:37.553 回答