#html #css #position
Вопрос:
Я создаю html-страницу, на которой по умолчанию будет несколько разделителей вверху, некоторое пустое пространство, а затем еще один раздел в нижней части страницы. Я могу использовать фиксированное или абсолютное положение, чтобы div оставался внизу. Разделы «studentcontainer» должны начинаться с тонкого значения, означающего, что они не занимают всего места на странице. Я хотел бы, чтобы div «buttoncontainer» оставался в нижней части страницы с некоторым пробелом над ним, ЕСЛИ ТОЛЬКО «studentcontainers» не будут расширены, и в этом случае я хотел бы, чтобы «buttoncontainer» был перемещен вниз по странице без пробелов над ним (за исключением небольшого поля, которое я установил).
С положением: абсолютное div начинается в нужном месте (не обращайте внимания на странный размер)…
РЕШЕНИЕ: То, что я сделал, это создал еще один div, который является родительским для всех div на странице, КРОМЕ «buttoncontainer», затем я задал высоту этого контейнера: авто, а также установил минимальную высоту, достаточную для нажатия кнопок внизу.
Комментарии:
1. Пожалуйста, добавьте код
2. @MihirK98 Я добавил код сейчас, но когда он запускается, кажется, что он работает неправильно. Надеюсь, это все равно будет полезно.
Ответ №1:
Хорошо, во-первых, не используйте
position: fixed;
Воспользуйся
position: absolute;
Теперь не используйте верхний и левый.
Вместо этого используйте нижнюю и левую части
bottom: 10px;
left: 0;
Я думаю, что это должно сработать
(Когда страница расширится, div все равно будет прилипать к нижней части)
Если это не то, что вы хотите, то получите высоту других дивов и соответственно установите положение вашего дива
Комментарии:
1. Это не сработало, потому что div остается плавающим в нижней части экрана и не перемещается вниз, когда страница переполняется
Ответ №2:
Если вы можете поделиться своим кодом, я могу помочь вам лучше, но, насколько я понимаю из вашего объяснения, вы хотите, чтобы кнопки «Отмена» и «Продолжить» всегда оставались внизу. Поэтому я создал для вас образец. Проверьте вырезанное ниже, если это то, что вы хотите.
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
/* Check these codes */
html, body {
margin: 0;
height: 100%;
}
body {
display: flex;
flex-direction: column;
}
header,
footer {
flex: none;
background-color: yellow;
padding: 10px;
}
main {
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
flex: auto;
}
/* These are not related to your topic it's just for styling */
.some-divs {
padding: 20px;
margin: 20px;
background-color: lightgrey;
}
.btn-container {
display: flex;
justify-content: flex-end;
align-items: center;
flex-direction: row;
}
.btn {
height: 40px;
width: 100px;
border-radius: 5px;
border: 1px solid black;
background-color: DodgerBlue;
color: white;
margin-left: 10px;
margin-right: 10px;
}
</style>
<title>Template</title>
</head>
<body>
<header>
This is header
</header>
<main>
<p class="some-divs">Your div</p>
<p class="some-divs">Your div</p>
<p class="some-divs">Your div</p>
<p class="some-divs">Your div</p>
<p class="some-divs">Your div</p>
<p class="some-divs">Your div</p>
<p class="some-divs">Your div</p>
<p class="some-divs">Your div</p>
<p class="some-divs">Your div</p>
</main>
<footer>
<div class="btn-container">
<button class="btn" type="button" name="button">Cancel</button>
<button class="btn" type="button" name="button">Continue</button>
</div>
</footer>
</body>
</html>
Комментарии:
1. Спасибо за ответ, это не совсем то, что я пытался сделать. Я искал способ по умолчанию разместить кнопки внизу страницы, даже если выше нет дивов, чтобы они там оставались. Затем я хотел, чтобы кнопки нажимались вниз, если страница переполнится. Я нашел решение и добавил его в свой пост.
2. Хорошо, теперь я понимаю вашу цель. Это хорошо, если вы решите проблему.