所以有我的导航栏代码。我想在菜单上设置黑色背景,同时从顶部向下滑动一点,我可以这样做吗?我试图用.shrink类的类在css中做一些事情,但是它什么都没有改变。还可以建议我如何在向下滑动的同时更改徽标在导航栏中的位置吗?我将在图片中向您展示我希望它的外观。
https://ibb.co/cCh08RD-这是图片,因此占位符是徽标在导航栏中的位置。我希望它在滑动时像我尝试绘制的那样下降,并在徽标的地方显示菜单图片-像这样的3行。我也很累画我想要的宽度。
$(window).on('scroll', function() {
if ($(window).scrollTop()) {
$('nav').addClass('shrink');
} else {
$('nav').removeClass('shrink');
}
});
.background {
background-image: url('../images/img1-header.png');
background-repeat: no-repeat;
background-size: cover;
background-position: center;
height: 650px;
width: 100%;
}
#siteNav {
width: 100%;
top: 0;
left: 0;
transition: 0.3s;
display: flex;
flex-direction: row;
justify-content: center;
padding-top: 20px;
padding-bottom: 20px;
}
.shrink {
background: rgba(32, 32, 32);
height: 50px;
position: fixed;
}
.shrink .logo {
transition: 0.3s;
display: flex;
height: 38px;
}
#siteNav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
}
#siteNav ul li {
list-style: none;
border-right: 1px solid #fafafa;
padding-top: 10px;
}
#siteNav ul li a {
padding: 0 30px;
text-decoration: none;
transition: 0.3s;
color: #000000;
}
#siteNav ul li:last-child {
border-right: none;
}
header h1 {
text-align: center;
font-family: 'Homenaje', sans-serif;
color: #000000;
font-size: 58px;
padding-top: 130px;
letter-spacing: 3px;
}
header h1 a {
color: #383838;
}
<div class="background">
<nav id="siteNav">
<img class="logo" src="http://placehold.it/40" alt="">
<ul>
<li><a href="#mission">MISSION</a></li>
<li><a href="#clients">CLIENTS</a></li>
<li><a href="#products">PRODUCTS</a></li>
<li><a href="#contact">CONTACT</a></li>
</ul>
</nav>
<header>
<div>
<h1>aaaaaaa <br><a>aaaaaaaaa</a></br>
</h1>
</div>
</header>
</div>
答案 0 :(得分:0)
我刚刚测试了您的代码,它对我有用。它将滚动更改导航的背景。
在您的嵌入式代码中,我看到以下错误:
未捕获的ReferenceError:未定义$
之所以这样,是因为您没有在HTML文档中引用/包含jQuery。
要使导航在滚动时略微下降,只需在其上添加边距顶部。
对于要在滚动条上重新定位图像/徽标,如果要保留导航链接,则可以使用position:absolute(并将其从文档流中“拔出”)重新定位,然后随意移动它。
答案 1 :(得分:0)
function sticktothetop() {
var window_top = $(window).scrollTop();
var top = $('#stick-here').offset().top;
if (window_top > top) {
$('#stickThis').addClass('stick');
$('#stick-here').height($('#stickThis').outerHeight());
} else {
$('#stickThis').removeClass('stick');
$('#stick-here').height(0);
}
}
$(function() {
$(window).scroll(sticktothetop);
sticktothetop();
});
#stickThis {
padding: 20px;
background-color: #ccc;
font-size: 1.5em;
width: 100%;
text-align: center;
font-weight: bold;
}
#stickThis.stick {
margin-top: 0;
padding: 5px;
position: fixed;
top: 0;
text-align: left;
z-index: 9999;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<div id="stick-here"></div>
<div id="stickThis">Sticky note</div>
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />
lorem <br />