Как иметь высоту таблицы HTML = высота родительского отделения, когда высота отделения не установлена

У меня есть таблица HTML, в отделении. Высота отделения основана на других элементах в отделении.

Как у меня может быть высота таблицы быть равным высоте ее родительского отделения?

(высота таблицы: 100% не будут работать, потому что высота отделения не установлена),

Обновление: Я должен поддерживать IE6,7,8, таким образом, рекомендации CSS должны быть поняты под этими браузерами.

6
задан Tony_Henrich 13 April 2010 в 19:55
поделиться

4 ответа

Практически невозможно, потому что средство визуализации не может знать, сколько должно быть 100%.

Действительно грязный обходной путь: добавьте display: table в div и display: table-row-group в таблицу. Не ожидайте слишком многого… :)

1
ответ дан 17 December 2019 в 22:11
поделиться

Попробуйте использовать position: relative и min-height: 100%;

Mb even posinion: absolute , вверху: xxx , внизу: xxx , справа: xxx и слева: xxx - положение и высота: авто .

1
ответ дан 17 December 2019 в 22:11
поделиться

Достичь того, о чем вы говорите, используя только css, может быть довольно сложно. Вы можете попробовать использовать javascript, jQuery или любой другой хост других библиотек javascript, чтобы получить высоту родительского div, а затем применить ее как высоту к таблице. Посмотрите на приведенный ниже пример. Независимо от того, сколько текста добавлено, он динамически устанавливает высоту таблицы на основе родительского div. Это не ненавязчивый javascript, но он должен помочь вам начать.

<html>
    <head>
        <title>Table Height set via jQuery</title>
        <script src="jquery.js" type="text/javascript" charset="utf-8"></script>

        <script type="text/javascript" charset="utf-8">
            $(document).ready(function(){
                var divHeight = $('div.full').height();
                $('table.column_2').css("height", divHeight + "px");
                $('table.column_2 .parentDiv').text(divHeight);
                var tableHeight = $('table.column_2').height();
                $('table.column_2 .tableHeight').text(tableHeight);
            });
        </script>
        <style type="text/css" media="screen">
            div.full {
                width:960px;
                float:left;
                }
            div.column_1 {
                width:450px;
                padding:0 10px;
                float:left;
                margin-right:10px;
                background-color:#eee;
            }
            table.column_2 {
                width:470px;
                float:left;
                background-color:#ddd;
            }
        </style>
    </head>

    <body>
        <div class="full">
            <div class="column_1">
                <p>
                    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore
                    magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
                    consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla 
                    pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim 
                    id est laborum.

                </p>

            </div>
            <table class="column_2">
                <thead>
                    <tr>
                        <th>Table Height</th>
                        <th>Parent Div Height</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td class="tableHeight"></td>
                        <td class="parentDiv"></td>
                    </tr>
                </tbody>
            </table>
        </div>
    </body>
</html>
0
ответ дан 17 December 2019 в 22:11
поделиться

Высота таблицы 100% должна заполнять все доступное пространство в родительском контейнере div. Если вы не можете установить высоту родительского div , попробуйте использовать для таблицы height = "100%" вместо CSS. Я знаю, это семантически неверно, но иногда таблицы работают с div немного странно.

-1
ответ дан 17 December 2019 в 22:11
поделиться