Как я могу получить три столбца, родные элементы div, каждый из которых расширяется, чтобы заполнить своего родителя? - PullRequest
0 голосов
/ 29 апреля 2009

Я искал вечно. Извините, я довольно отчаянно в этот момент, поэтому я решил спросить здесь. Ниже приведен пример HTML. Когда столбец B длиннее одной страницы (область просмотра, извините, я не уверен в правильной терминологии здесь), то A и C не расширяются по высоте, чтобы заполнить контейнер div. Они заполняют всю страницу, но останавливаются на одной длине страницы, даже если столбец B длиннее одной страницы. Любые идеи, я выдернул свои волосы. Я играл с ростом и минимальной высотой, и, кажется, ничего не работает.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Page</title>
        <style type="text/css">
            html, body 
            {
                height: 100%;
                background-color: gray;
                padding: 0;
                margin: 0;
            }

            #container
            {
                height: 100%;
                margin: auto;
                padding: 0px;
                width: 610px;
            }

            #a
            {
                width: 5px;
                min-height: 100%;
                float: left;
                background-color: yellow;
            }

            #b
            {
                width: 600px;
                background-color: Blue;
                float:left;
                min-height: 100%;
            }

            #c
            {
                width: 5px;
                float:left;
                min-height: 100%;
                background-color: green;
            }
        </style>
</head>
<body>
        <div id="container">
            <div id="a"></div>
            <div id="b">
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
                <p>more</p>
            </div>
            <div id="c"></div>
    </div>
</body>
</html>

EDIT: Прежде, чем я потрачу время, объясняя мне, как захватить один пиксель по горизонтали, а затем разбиваю мозаику, дизайнер дал мне вертикальный градиент. Начинается темнота сверху и заканчивается светлее. Это так же, как эффект тени. Тень бежит горизонтально. Так что нет никакого способа нарезать это и затем использовать умное использование листов, насколько я знаю.

Ответы [ 2 ]

1 голос
/ 29 апреля 2009

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

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

Вы видели ложные столбцы трюк?

...