установка нижнего колонтитула в конце содержимого или страниц

#html #css #positioning

#HTML #css #позиционирование

Вопрос:

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

Итак, это мой код. Div с class=»div1″ содержит содержимое. Содержимое содержит содержимое, а также нижний колонтитул.

 
<div class="div1">
   <div class="content">
      <div class="myContent"></div>
      <div class="myContent"></div>
      <div class="myContent"></div>
      <div class="footer"></div>
   </div>
</div>
  

Нижний колонтитул имеет высоту 50 пикселей.
Моя проблема заключается в следующем:
Если у меня есть высота экрана с height: 500px, а высота содержимого составляет всего 150px, нижний колонтитул устанавливается после последнего div-элемента с class =»MyContent».
Он должен быть установлен в конец страницы, как эффект, который я получаю с

 bottom:0;position:fixed  

Но если высота содержимого составляет 600 пикселей, нижний колонтитул должен быть установлен сразу после последнего div с class=»MyContent». Здесь не понадобятся стили.

У вас есть идея, как это решить?

Ответ №1:

вы имеете в виду прикрепить нижний колонтитул к нижней части страницы? или этот один

css

 html, body {height: 100%;}

#wrap {min-height: 100%;}
#main {overflow:auto;
padding-bottom: 150px;}  /* must be same height as the footer */

#footer {position: relative;
margin-top: -150px; /* negative value of footer height */
height: 150px;
clear:both;} 
  

и html

 <div id="wrap">

    <div id="main">

    </div>

</div>

<div id="footer">

</div>
  

Комментарии:

1. Привет, извини, что опоздал. К сожалению, мой html отличается. 🙁 Раздел нижнего колонтитула находится в основном разделе. Ваш пример не работает в моем случае… это было причиной, по которой я спрашивал.

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

Ответ №2:

Я думаю, это может помочь вам избавиться от этой проблемы:

 .footer {position:absolute;left:0;right:0;bottom:0;background:green;height:50px}
  

Это может решить задачу:

 <div style="position:absolute">
    <div style="position:absolute">
        <div id="top" style="height:50px;width:100%;position:fixed;left:0;top:0;background:red"> content 1 </div>
        <div id="middle" style="background:green;position:fixed;top:50px; left:0;bottom:50px;right:0">content 2 </div>
        <div id="middle" style="background:blue;position:fixed;top:100px; left:0;bottom:50px;right:0">content 3 </div>
        <div id="bottom" style="height:50px;width:100%;position:fixed;left:0;bottom:0;background:orange">Footer</div>
    </div>
</div>
  

Комментарии:

1. Привет, это не работает, потому что кто-то уже установил position: absolute где-то в родительских разделах. В любом случае спасибо. Попробовать стоило.

2. @judi55 Привет, приятель, проверь новый ответ. Я думаю, это сработает. Если нет, пожалуйста, прокомментируйте мне, в чем проблема. Здесь я использую position:absolute для всех родительских div элементов. Если у кого-то div есть position:absolute это тоже сработает, я думаю.