Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Как растянуть div между нижней и верхней панелью? (https://javascript.ru/forum/xhtml-html-css/61765-kak-rastyanut-div-mezhdu-nizhnejj-i-verkhnejj-panelyu.html)

shurik_shink 07.03.2016 11:10

Как растянуть div между нижней и верхней панелью?
 
WEB странница состоит из трех элементов
I - верхняя панель <div> прижатая к потолку страницы (style="position:absolute; top:0px;")
II - нижняя панель <div> прижатая к низу страницы (style="position:absolute; bottom:0px;")
III - <div name="content" style="overflow-y: scroll;"> с контентом который находится между верхней и нижней панелью

Как растянуть <div name="content"> четко между верхней и нижней панелью?

destus 07.03.2016 11:13

А высота есть у верха и низа?

shurik_shink 07.03.2016 12:02

Цитата:

Сообщение от destus (Сообщение 410167)
А высота есть у верха и низа?

Да, фиксированная, по 1.5em

destus 07.03.2016 12:28

shurik_shink,
<body>
    <style>
        body {
            position: relative;
            margin: 0;
            padding: 0;
            min-height: 100%;
        }
        div {
            border: 1px solid black;
            width: 100%;
            box-sizing: border-box;
            text-align: center;
        }
        #header {
            position: absolute;
            top: 0;
            height: 1.5em;
        }
        #content {
            padding: 1.5em 0;
            min-height: 100%;
        }
        #footer {
            position: absolute;
            bottom: 0;
            height: 1.5em;
        }
    </style>
    <div id="header">Header</div>
    <div id="content">Content</div>
    <div id="footer">Footer</div>
</body>

рони 07.03.2016 12:43

destus,
может добавить
html, body{
         height: 100%;
       }
иначе не растянет

рони 07.03.2016 12:45

destus,
а зачем строка 21?

destus 07.03.2016 12:49

рони,
чтоб не наезжал на шапку и подвал

рони 07.03.2016 13:52

destus,
не танцует у меня твой пример

shurik_shink 07.03.2016 13:59

Цитата:

Сообщение от рони (Сообщение 410178)
destus,
может добавить
html, body{
         height: 100%;
       }
иначе не растянет

Прописал в style для html и body {height:100%} и заработало - растянуло как надо

С min-height не растягивает

рони 07.03.2016 14:03

destus,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style>
       html, body{
         height: 100%;
       }

        body {
            position: relative;
            margin: 0;
            padding: 0;
            min-height: 100%;
        }
        div {
            border: 1px solid black;
            width: 100%;
            box-sizing: border-box;
            text-align: center;
        }
        #header {    background-color: #008000;
            position: absolute;
            top: 0;
            height: 1.5em;
        }
        #content {    background-color: #FFD700;

            min-height: 100%;
        }
        #footer {    background-color: #00BFFF;
            position: absolute;
            bottom: 0;
            height: 1.5em;
        }
    </style>
</head>

<body>

    <div id="header">Header</div>
    <div id="content">Content</div>
    <div id="footer">Footer</div>
</body>


</html>

shurik_shink 07.03.2016 14:11

А можно ли с использоваем только стилей растянуть div с контентом между верхней и нижней панелью если высота верхней панели может изменяться?

destus 07.03.2016 14:14

рони,
слово "Content" заехало под шапку и скрылось там собственно. http://pixs.ru/showimage/errorpng_8985057_20999139.png

рони 07.03.2016 14:20

shurik_shink,
может flex

рони 07.03.2016 14:22

destus,
не спорю мой вариант не совершенен, но у меня всё на месте и ничего не лезет на шапку

destus 07.03.2016 14:24

рони,
а так? рез.шапка + футер
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style>
       html, body{
         height: 100%;
         width : 100%;
       }
        body {
            margin: 0;
            padding: 0;
            display : table;
            background-color : #4cff00;
        }
        div {
            border: 1px solid black;
            display : table-row;
            box-sizing: border-box;
            text-align: center;
            width : 100%;
        }
        #header, #footer{
            background-color : #ffd800;
        }
        #content{
            height : 100%;
        }
    </style>
</head>
<body>

    <div id="header">Header<br />Header<br />Header</div>
    <div id="content">Content</div>
    <div id="footer">Footer<br />Footer<br />Footer</div>
</body>
</html>

рони 07.03.2016 14:58

destus,
мои браузеры сказали good! :)

destus 07.03.2016 14:58

рони,
ништяк :)

belladony 08.04.2016 06:44

а без 21-й строки будет что попало, контент будет под хеадер и футер ползти

basherra 10.04.2016 08:40

а я вот выбираю движок для своего сайта, порекомендуете что то ?

belladony 10.04.2016 08:41

ну если выбирать среди CMS, то я бы рекомендовал http://www.umi-cms.ru/product/

belladony 09.05.2016 13:31

абсолютно нет разницы где он будет, дай ему Ид и все

lomates 10.05.2016 17:11

а что делать, если сайт работает на cms?

belladony 10.05.2016 17:12

даже не знаю, просто потому что мой сайт работает на UMI-CMS


Часовой пояс GMT +3, время: 14:39.