Исправление липкого нижнего колонтитула без перекрытия содержимого тела - PullRequest
0 голосов
/ 25 апреля 2018

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

В любом случае, это форматHTML у меня есть.Я хочу, чтобы «нижний колонтитул» застрял внизу, чтобы при его прокрутке снизу он оставался.Но я также не хочу, чтобы он поднимался слишком высоко, чтобы под ним оставалось пустое пространство.

Я пытался использовать стиль "position: absolute", чтобы нижний колонтитул оставался внизу.,Но я просто где-то читал, что это выходит за рамки обычного потока, и именно это вызывает наложение.

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

HTML:

<html>
<header></header>
<body>
    <div class="content">
        <div class="hd">Content of header</div>
        <div class="bd">Content of body</div>
        <div class="ft">Content of footer</div>
    </div>
</body>
</html>

CSS: (основные части)

div {
    display: block;
}

*, *:before, *:after {
    box-sizing: inherit;
}

.hd {
    position: static;
    flex: 0 0 auto;
}
.bd {
    position: relative;
    flex: 1 0 auto;
}
.ft {
    position: absolute;
    bottom: 0px;
    flex: 0 0 auto;
}

Ответы [ 3 ]

0 голосов
/ 25 апреля 2018

Я думаю, что вы, возможно, ищете положение: исправлено;Пример:

.footer {
 position: fixed;
 bottom: 0;
}

При этом нижний колонтитул закрепляется в нижней части окна независимо от содержимого, поэтому при прокрутке нижний колонтитул всегда остается в нижней части.Это, однако, будет выше содержимого (перекрытия), поэтому вам также необходимо применить опцию AndrewL, чтобы содержимое не попадало под нижний колонтитул.

0 голосов
/ 26 апреля 2018

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

.content {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.ft {
  flex: 0 0 50px;
  margin-top: auto;
}

Спасибо всем за поддержку!

Ссылка для ответа предназначалась для того, что я использовал: LINK

0 голосов
/ 25 апреля 2018

Просто добавьте поле в нижней части вашего body, равное height.

вашего нижнего колонтитула, так что если ваш нижний колонтитул имеет height, скажем, 100px, то вам нужно добавитьэто к вашему css:

body {
    margin-bottom: 100px;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...