如Chrome中所示的问题的说明:

预期行为和家庭暴力行为:

我们正在制作一个页面,杂交橙,但是填充顶部似乎并不影响Chrome中div Tecnología的高度。我希望div是100%的高度,所以第一个px滚动是下一部分。我不知道是什么原因导致这种行为在FF和Chrome中有所不同。
HTML的相关部分:
<nav>
<header id = "bar">
[...]
</header>
<ul>
[...]
</ul>
</nav>
<div id = "inicio">
[...]
</div>
<div id = "tecnologia">
<div class = "v_center">
<div class="container clearfix">
<div id="tecno-web" class="tecno-div">
[...]
</div>
</div>
</div>
</div>css的相关部分:
nav {
position: absolute;
top: 60%;
z-index: 100;
width: 80%;
height: 4em;
padding: 0 10%;
/* Bug of android's browser: http://stackoverflow.com/q/19254146/938236 */
-webkit-backface-visibility: hidden;
background-color: #FFF;
box-shadow: 0 2px 8px -1px gray
}
#tecnologia {
display: table;
position: relative;
width: 100%;
padding-top: 4em;
/* height of this section is 100% (-4em is to compensate the padding-top) */
height: calc(100% - 4em);
background-color:#68a4dc;
background-image: url('/images/fondo_azul.jpg');
color:#ffffff;
}预期的行为是: tecnologia高度为100%,这来自于它的实际高度(100% - 4em) +填充顶的高度。然而,在Chrome中,这个填充顶部似乎没有增加Tecnología部分。它在Firefox中的行为与预期的一样。如果我设置height: 100%;,它在Chrome中工作,但在火狐中(太长)中断,就像预期的那样,从高度+填充。
发布于 2014-02-05 22:48:10
如果你想要一个快速的解决办法,试试这个
#tecnologia {
display: table;
position: relative;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
padding-top: 4em;
height: 100%;
background-color:#68a4dc;
background-image: url('/images/fondo_azul.jpg');
color:#ffffff;
}我在Chrome和Firefox上测试了它,它似乎解决了这个问题。真正的问题是你正在设置
display: table 为#technologia。Chrome是自动从高度中减去4em填充,当您将高度设置为100% - 4em时,这是多余的。另一方面,Firefox并不能做到这一点。
理想情况下,您不应该使用表布局。不同浏览器之间的表显示实现非常不协调,而且您的reset.css没有考虑到这种特殊情况。
https://stackoverflow.com/questions/21588288
复制相似问题