Вот решение:
body {
margin: 0;
padding: 0;
}
.container {
height: 100vh;
background: #ddd;
background-color: #23bdf5;
background: linear-gradient(to bottom, #34b9f7 0%, #34b9f7 40%, #f0f0f0 40%, #f0f0f0 100%);
position: relative;
text-align: center;
overflow: auto;
}
.center-content {
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 50px;
right: 50px;
}
.form-element {
height: 50vh;
background: white;
}
<div class="container">
<h1>Title</h1>
<div class="center-content">
<div class="form-element">
this is where your form would go
</div>
</div>
</div>
Работает следующим образом:
Сначала я создаю элемент .container
для страницы и добавляю линейный градиент фон к нему;Я использовал генератор линейного градиента, который можно найти, просто погуглив.Затем я установил высоту элемента контейнера равной 100vh, что составляет 100% высоты окна браузера; Вы можете прочитать о единицах просмотра здесь .
Внутри контейнера я создаю элемент .center-content
, чтобы позиционировать содержимое как по вертикали с центром в элементе .container
и всегда в 50px от края контейнера, независимо от размера экрана, вы можете изменить это значение на любое, которое вам подходит.
В этом примере я установил элемент, который будет содержать форму, равным 50vh, просто покажитевы, как это будет выглядеть, но вы можете удалить это и добавить содержимое внутри элемента, а затем добавить отступы, чтобы определить его размеры.