Как установить высоту h: panelGrid в JSF? - PullRequest
1 голос
/ 23 июня 2010

В JSF я использую панель Grid, которая эквивалентна таблице в HTML.Как установить в нем высоту = 100%?ширина = 100% существует, но не высота.Спасибо

1 Ответ

4 голосов
/ 23 июня 2010

Для начала JSF здесь не имеет значения.Теперь все о сгенерированном HTML-коде.Откройте страницу в браузере, щелкните правой кнопкой мыши и просмотрите источник.Сконцентрируйте вас на этом источнике HTML.Это все, что CSS (и JS) может видеть и применять.

Я предполагаю, что вы имеете в виду со 100% высотой полную высоту области просмотра («видимая» высота).Теперь, чтобы достичь полной высоты области просмотра в CSS, недостаточно просто установить height: 100% для нужного HTML-элемента.Это будет относительно его родительского элемента, всей цепочки вплоть до элемента <html>.Так что если у вас есть:

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>100% viewport height demo - FAIL</title>
        <style>
            .mytable { height: 100%; background: yellow; }
        </style>
    </head>
    <body>
        <table class="mytable"><tr><td>cell</td></tr></table>
    </body>
</html>

, то это будет 100% высоты элемента <body>.Высота самого <body> в свою очередь относительно высоты элемента <html>.Но оба элемента не имеют высоту 100%.Скопируйте и запустите его.Вы увидите, что он не охватывает весь видовой экран.

Если вы хотите достичь полной высоты видового экрана, тогда вам нужно применить height: 100% к обоим элементам <body> и <html>(вам, конечно, также необходимо сбросить поля).

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>100% viewport height demo - GOOD</title>
        <style>
            html, body { margin: 0; height: 100%; }
            .mytable { height: 100%; background: yellow; }
        </style>
    </head>
    <body>
        <table class="mytable"><tr><td>cell</td></tr></table>
    </body>
</html>

Примените эти знания и к JSF.h:panelGrid просто визуализирует элемент <table>.Его styleClass будет отображаться как атрибут HTML class.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...