Внутренняя высота не будет расширяться, заполняйте абсолютно позиционированный внешний элемент в режиме соответствия стандартам IE7 - PullRequest
0 голосов
/ 10 марта 2012

Что здесь происходит и как это можно исправить?

Приведенная ниже разметка создает серый 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).

1 Ответ

0 голосов
/ 10 марта 2012

попробуйте сбросить ваш "CSS":

/* RESET YOUR CSS CODE */
*{ margin:0;padding:0;outline:0;height:auto;... bla bla bla ....}

в вашем HTML-документе:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=7">
        <title></title>
        <style type="text/css">
            /* RESET CSS */
            *{ margin:0;padding:0;outline:0;height:auto; }

            /* YOUR CODE */
            #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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...