Добавьте немного высоты к телу, чтобы увидеть фон:
* {
margin: 0px;
padding: 0px;
}
body {
background: linear-gradient(20deg, #B7B0F6, #B1D5F9);
min-height: 100vh;
}
header {
position: absolute;
top: 50%;
left: 50%;
margin-right: -50%;
transform: translate(-50%, -50%);
}
<header>
<h1>Hello!</h1>
</header>
Ваше тело не содержит никакого элемента в потоке, поэтому его высота равна 0
(то же самое для высоты html
), и это сделаетфон размером 0
, поэтому вы ничего не увидите.
Вы не обязаны указывать высоту 100vh
.Даже небольшого заполнения может быть достаточно из-за из-за распространения фона .Изображение не будет таким же, но вы вряд ли заметите это в этом случае.
* {
margin: 0px;
padding: 0px;
}
body {
background: linear-gradient(20deg, #B7B0F6, #B1D5F9);
padding:5px;
}
header {
position: absolute;
top: 50%;
left: 50%;
margin-right: -50%;
transform: translate(-50%, -50%);
}
<header>
<h1>Hello!</h1>
</header>
Небольшой отступ для HTML тоже подойдет:
* {
margin: 0px;
padding: 0px;
}
body {
background: linear-gradient(20deg, #B7B0F6, #B1D5F9);
}
html {
padding:2px;
}
header {
position: absolute;
top: 50%;
left: 50%;
margin-right: -50%;
transform: translate(-50%, -50%);
}
<header>
<h1>Hello!</h1>
</header>
Большое заполнение заставит вещи выглядеть иначе!
* {
margin: 0px;
padding: 0px;
}
body {
background: linear-gradient(20deg, #B7B0F6, #B1D5F9);
}
html {
padding:40px;
}
header {
position: absolute;
top: 50%;
left: 50%;
margin-right: -50%;
transform: translate(-50%, -50%);
}
<header>
<h1>Hello!</h1>
</header>
Вы можете проверить этот ответ , чтобы лучше понять, как осуществляется распространение и как оно работает с градиентом.