我有一个<div>
包含另一个<div>
,它又包含一系列<div>
可以切换的 s。我已将前两个<div>
s 设置为 have height: 100%;
。所以现在当我有太多<div>
的 s 可见并且它不适合屏幕时, main<div>
不会扩展,让 bg 成为 body 的颜色。
这是(简化的)的html
样子:
<div id="wrapper">
<div class="col" id="col1"></div>
<div class="col" id="col2"></div>
<div class="col" id="col3"></div>
</div>
和相关的CSS
:
body, html {
background-color: darkgray;
margin: 0;
height: 100%;
width: 100%;
}
#wrapper {
width: 80%;
height: 100%;
margin: 0 auto;
margin-top: 0;
margin-bottom: 0;
padding: 0;
background-color: #666;
color: white;
min-width: 722px;
max-width: 1119px;
font-family: 'Roboto Condensed', sans-serif;
box-shadow: 0px 0px 25px black;
}
.col {
/*background-color: red;*/
height: 100%;
float:left;
margin-top: 0;
margin-right: 0.6667%;
margin-left: 0.6667%;
}
#col1 {
width: 24%;
}
#col2 {
width: 48%;
box-shadow: 0px 0px 5px black;
}
#col3 {
width: 24%;
}
这就是它在jsfiddle中的样子。
这是问题的屏幕截图:
我尝试将以下代码添加到jQuery
(.click
函数内)以解决问题:
var top = $('#col2:last-child').position().top;
var bottom = top + $('#col2:last-child').height();
$('#wrapper').css('height', bottom);
在 chrome 中,它在控制台中给了我以下错误:
Uncaught TypeError: Cannot read property 'top' of undefined
如果可以的话,我真的很想解决这个问题CSS
。