Что здесь происходит и как это можно исправить?
Приведенная ниже разметка создает серый div, который расширяется, чтобы уместиться в окно, но на 100 пикселей меньше по верхнему и правому краям. А затем он создает внутренний розовый div, который должен заполнить весь серый div.
Метатег заставляет мой браузер IE8 отображать в режиме соответствия стандартам IE7, а также нарушает макет. Розовый div не заполняет, чтобы увеличить всю высоту своего родителя. Его высота составляет всего около 20 пикселей.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=7">
<title></title>
<style type="text/css">
#canvas {
background-color: #eee;
position: absolute;
top: 100px;
right: 100px;
bottom: 0;
left: 0;
}
.fill {
background-color: pink;
height: 100%;
width: 100%;
}
</style>
</head>
<body>
<div id="canvas">
<div class="fill"></div>
</div>
</body>
</html>
В современных браузерах все выглядит отлично (проверено Firefox и Chrome).