Resuable Asp.net серверное управление с режимами Quirks и Standards - PullRequest
0 голосов
/ 03 марта 2009

Я занимаюсь разработкой многоразового серверного серверного элемента управления ASP.net, который должен работать в IE 6+, FF 2+ и Safari в режимах Quirks и Standards.

Элемент управления отображает два определяемых пользователем свойства, высоту и ширину, оба эти атрибута могут быть определены в процентах или в пикселях.

Внутри элемента управления у меня есть два столбца Div, которые содержат панель навигации и содержимое элемента управления. Столбцы должны быть Div, чтобы использовать стиль переполнения, когда содержимое больше контейнера. Смотрите пример кода прототипа ниже;

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
     <head>
        <title></title>
    </head>
    <body>
        <div style="height: 100%; width:400px; background-color: Green; ">
            <div style="height: 100%; width: 25%; background-color: Red; float:left; overflow:auto;">
                LongString:<br />Stuffsdfsfdsdfsfsdfdfsdfsdfsdfsdfsdxgsdfgsdfgsdgiusdfgiudfgifdgu
            </div>
            <div style="height: 100%; width: 75%; background-color: Pink; float:right;">
                Stuff
                <br />
                More stuff
                <br />
                And some more
            </div>
            <div style="clear:both;"></div>
        </div>
    </body>
</html>

Проблема, с которой я сталкиваюсь, заключается в том, что в стандартном режиме, когда используется процентная базовая высота, элементы div, как и ожидалось, визуализируются только так, как их содержимое. Похоже, что единственный способ решить эту проблему - использовать JavaScript.

В этом случае возникают проблемы, связанные с тем, что элемент управления может асинхронно выполнять повторную визуализацию с использованием AJAX, а значения высоты не синхронизируются.

Нельзя ли достичь того, чего я пытаюсь достичь, или я смотрю не туда?

Ответы [ 2 ]

0 голосов
/ 10 апреля 2009

Мне неприятно это говорить, но иногда, когда приходится работать со старыми браузерами, использование методов старой школы иногда делает работу быстрее. Попробуйте

0 голосов
/ 04 марта 2009
<div style="height: 100%

100% чего? DIV не является абсолютно позиционированным, поэтому ответом является его родитель. Родитель - это тело.

Насколько высокое тело? Ничего не указано: по умолчанию auto. auto означает, что высота тела рассчитывается исходя из высоты его содержимого. Ошибка в режиме Quirks заключается в том, что body имеет минимальную высоту, соответствующую области просмотра.

Установите html и body на height: 100%, чтобы действительно получить 100% в режиме стандартов.

...