Автор: фиксированный заголовок, под заголовком индикатор, показывающий долго ли ещё до конца страницы.
<style>
html,
body {
margin: 0;
}
header {
position: fixed;
top: 0;
width: 100%;
height: 97px; /* высота шапки сайта */
background: white;
}
main {
margin-top: 100px; /* чтобы была видна верхняя часть содержимого main, чтобы header не заезжал на контент, так как он выносится из потока */
}
@supports (height: 100vh) {
body{
background: linear-gradient(to right top, #0089f2 50%, #ddd 50%) 0 100px / 100% calc(100% - 100vh) no-repeat #ddd; /* 100px - 97px = 3px (высота индикатора) */
}
body:before {
content:'';
position: fixed;
top: 100px;
bottom: 0;
width: 100%;
z-index: -1; /* слой над фоном, но под текстом */
background: white;
}
}
</style>
<header>
<h1>Scroll-индикатор</h1>
</header>
<main>
содержимое страницы
</main>
Идея: body задаётся градиент, который делит его надвое по диагонали. Видна только часть рисунка. Остальное сверху скрывает под слоем белого фона заголовок, а снизу — :before. Я только чуть-чуть подправила код.
<style>
#raz {
max-width: 10em;
height: 10em;
background: linear-gradient(to right top, #0089f2 50%, #ddd 50%);
}
</style>
<div id="raz"></div>
2 комментария:
Спасибо за статью.
Впервые для себя обнаружил, что в свойствах background можно использовать слэш для разделения характеристик фона, которые обычно разделяются пробелами. (background: linear-gradient(to right top, #0089f2 50%, #ddd 50%) 0 100px / 100% calc(100% - 100vh) no-repeat #ddd;). Причём, без этого слэша, браузер не применяет указанные свойства к бэкграунду. Видимо, большое количество похожих значений для него затруднительно определить - к чему-что-относиться.