雖然做了一些標記,但我發現,MSIE10實際上並不「理解」我想要解釋的內容。這裏是一個再現:如何在「display:table-row」元素中嵌入元素「display:table」以填充MSIE10中的剩餘高度?
<!DOCTYPE html>
<html>
<head>
<style>
*
{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html,
body
{
display: block;
height: 100%;
width: 100%;
margin: 0px;
padding: 0px;
}
body
{
background: #eee;
display: table;
}
body > div.header
{
background: #aaa;
display: table-row;
height: 92px;
}
body > div.header > div.layout
{
background: #666;
display: table;
height: inherit;
width: 100%;
}
body > div.main
{
background: #aaa;
display: table-row;
height: 100%;
}
body > div.main > div.layout
{
background: #666;
display: table;
height: 100%;
width: 100%;
}
body > div.main > div.layout > div
{
display: table-cell;
}
div.menu
{
background: #fff;
width: 280px;
}
div.content
{
background: #fff;
}
</style>
</head>
<body>
<div class="header">
<div class="layout"></div>
</div>
<div class="main">
<div class="layout">
<div class="menu">
x
</div>
<div class="content">
y
</div>
</div>
</div>
</body>
</html>
我試圖強迫身體的div.main > div.layout
填充剩下的高度,這在Chrome,FF,Opera和Safari瀏覽器甚至工作。不過MSIE忽略了我的任何嘗試。我嘗試過使用height: inherit
,但它也沒有效果。另一種選擇是使用display: block
並使子元素div.menu
和div.content
擁有display: inline-block; height: inherit
,但它也失敗了:我無法(或只是不知道如何)使div.content
正確填充剩餘寬度。
所以這裏是問題:我該怎麼做?
問候。
你可以在這裏下載測試文件:http://codepen.io/anon/share/zip/eLAGI/(html和css單獨的文件夾) –