我在父 div 中有 3 个 div,打算这样排列:
______________________________________
| |
| HEADER |
|______________________________________|
____ _______________________________
| | | |
| | | |
| | | |
| | | |
| N | | |
| A | | CONTENT |
| V | | |
| - | | |
| B | | |
| A | | |
| R | | |
| | | |
| | | |
|____| |_______________________________|
高度是固定的#header
,所以我没有问题。
但是,#content
div 的内容是动态的,具体取决于加载的页面。我想#nav-bar
一直匹配的高度#content
,但我一直无法管理它。
我希望 和 的最小高度为#content
屏幕#nav-bar
高度的 100%(因此它们始终至少占据屏幕的整个高度),但是#content
随着超出此范围,我想#nav-bar
相应地增长。
我已经得到#nav-bar
的身高增长,但与 的值不完全相同#content
,所以他们的身高仍然不匹配。
这是我已有的相关代码,有问题的实际页面在这里。
HTML:
<div id='container'>
<div id='center-panel'>
<div id='top-banner'></div>
<div id='nav-bar'>
<?php
echo get_nav_list();
?>
</div>
<div id='header'><span id='fact-tag'>current points leader</span><span id='fact-value'>4</span></div>
<div id='content'>Lorem ipsum...
</div>
</div>
</div>
CSS:
html, body {
background-color: #ccc;
min-height: 100%;
margin: auto;
font-family: 'Noto Sans', 'Tahoma', sans-serif;
font-size: 12pt;
color: #666;
}
#container {
height: 100%;
overflow: scroll;
}
#center-panel {
margin-left: auto;
margin-right: auto;
width: 800px;
background-color: #fff;
min-height: 100%;
}
#header { /*top bar*/
height: 33px;
max-height: 33px;
text-align: right;
color: #aaa;
padding: 0px 15px 0px 160px;
font-size: 18pt;
border: 2px dashed blue;
}
#header span#fact-tag {
font-weight: 700;
}
#header span#fact-value {
display: inline-block;
min-width: 40px;
background-color: #ccc;
margin-left: 10px;
color: #444;
padding: 0px 3px 0px 3px;
}
#nav-bar { /*left bar*/
float: left;
width: 110px;
text-align: center;
height: inherit;
font-family: 'Oxygen', 'Tahoma', sans-serif;
padding: 33px 0px 0px 0px;
border: 2px dashed red;
}
#nav-bar ul { /*main menu*/
list-style-type: none;
text-align: left;
font-size: 10pt;
padding: 0px;
margin: 0px;
}
#nav-bar > ul > li { /*main menu item*/
min-height: 35px;
background-color: #444;
color: #ccc;
border-left: 6px solid #444;
border-bottom: 3px solid #666;
cursor: pointer;
}
#nav-bar ul > li > ul { /*sub-menu*/
display: none;
}
#nav-bar ul > li > ul > li { /*sub-menu item*/
min-height: 25px;
background-color: #555;
border-bottom: 3px solid #444;
font-size: 10pt;
cursor: pointer;
}
#nav-bar ul > li > ul > li > ul > li { /*third-level menu item*/
border: none;
min-height: 10px;
font-size: 8pt;
cursor: pointer;
}
#content { /*central content area*/
padding: 60px 45px 30px 160px;
border: 2px dashed green;
}
Javascript:
$('#nav-bar ul li').on('click', function() {
$(this).css('border-left-color', '#ad9557').siblings().css('border-left-color', '#666');
$(this).children().slideDown('fast');
$(this).siblings().children('ul').slideUp('fast');
});
$('#nav-bar').css('height', $('#container').height());