Хорошо, поэтому я достиг той же функциональности, что и в моем примере, но с поддержкой других браузеров, также удалив display:table
и использовав вместо него display:flex
.Мои главные проблемы были на самом деле (я должен был объяснить себя лучше, я должен администратор):
- Мне нужно было два div, один на другой, которые должны собирать вместе всю высоту страницы и высота которых являются динамическими
- Я не могу прикоснуться к
.sidebar
css, так как это внешний проект, лучше не менять.
Так что мой последний код - этот, спасибо обоим @MrListerи @Pete для обратной связи (я удалил устаревший тег <center>
, как предложено @Pete):
html,body{
height:100%;
width:100%;
overflow:hidden;
padding:0;
margin:0;
display: flex;
flex-flow: column;
}
#titleContainer{
background-color: blue;
text-align: center;
}
#contentContainer{
background-color: red;
height: 100%;
position:relative;
}
#sidebar{
position: absolute;
left: 6px;
overflow: hidden;
width: 40px;
margin: 0;
padding: 0;
top: 6px;
bottom: 6px;
background-color: yellow;
z-index:1000;
}
#sidebar > ul {
list-style-type:none;
width:40px;
margin:0;
padding:0;
position:absolute;
}
#sidebar > ul + ul {
bottom:0;
}
#sidebar > ul > li {
width:100%;
overflow:hidden;
height:40px;
background-color: red;
}
#page{
background-color: green;
height:100%;
width:100%;
position:absolute;
}
<div id="titleContainer">
<h2>
TITLE
</h2>
</div>
<div id="contentContainer">
<div id="sidebar">
<ul>
<li>TOP</li>
</ul>
<ul>
<li>BOTTOM</li>
</ul>
</div>
<div id="page"></div>
</div>