Заголовок остается на вершине с помощью CSS position:fixed
.. или вы можете установить CSS заголовка - position:fixed
с самого начала или изменить его на position:fixed
, как только он начинает прокрутку страницы .. и обновить заголовок содержимого вы хочешь сохранить, как он прокручивает ..
// css
.container {
height: 2000px;
width: 100%;
background-color: yellow;
}
.header {
text-align: center;
background-color: red;
height: 100px;
min-height: 50px;
width: 100%;
}
// js
window.onscroll= function() {
var top = window.pageXOffset ? window.pageXOffset : document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
var header = document.getElementById("header");
if (top > 50){
header.style.position = "fixed";
header.style.height = "50px";
} else {
header.style.position = "relative";
header.style.height = "100px";
}
}
//html
<div class="container">
<div id="header" class="header">
Hello World
</div>
</div>
Demo here
Пусковой механизм для того, чтобы быть точным и на самом деле не правильным. Вы не можете создавать такие функции, используя чистый CSS в наши дни. Вы должны использовать магию js helper. – shabunc
согласны .. dint проверить сайт правильно .. вот почему быстрый частично правильный ответ .. с помощью JS на прокрутке, а затем сделать 'position: fixed' будет правильным .. –
@shabunc обновил ответ с рабочей скрипкой .. :) –