Я хочу добавить теневую линию под заголовком / навигацией по всей странице, когда пользователь прокручивает страницу вниз. Я использую js, чтобы добавить заголовок класса к идентификатору элемента myheader. Когда заголовок элемента содержит id = ..., он не работает, хотя я вижу класс, добавленный в инспекторе.
<header class="container" id="myheader">
<section class="site-header sticky">
<nav class="navbar navbar-expand-md navbar-light">
Когда я перемещаю id = ... в элемент section, он работает, но затененная линия начинается только ниже панели навигации, и я хочу, чтобы она проходила по всему экрану.
<header class="container">
<section class="site-header sticky" id="myheader">
<nav class="navbar navbar-expand-md navbar-light">
Я попытался добавить несколько строк, но это тоже не работает.
<header class="container-fluid">
<div class="site-header" id="myheader">
<section class="container site-header sticky" >
<nav class="navbar navbar-expand-md navbar-light">
...
.site-header {
z-index: 100;
}
/* sticky header */
.sticky {
position: fixed;
top: 0;
width: 100%;
}
/* shadow box */
.headline {
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" rel="stylesheet" />
<script>
window.onscroll = function() {
headline()
};
var block = document.getElementById("headerUtopia");
function headline() {
if (window.pageYOffset > 10) {
block.classList.add("headline");
} else {
block.classList.remove("headline");
}
}
</script>
<header class="container-fluid">
<section class="site-header sticky" id="myheader">
<nav class="navbar navbar-expand-md navbar-light">
</nav>
</section>
</header>
Что за хитрость?