我的财产状况有问题:已修复。 如果你看看我的 jfiddle你看,当你滚动时,黑色div击中顶部,然后通过JS添加样式“棒”,使其固定在位 - 按预期。不幸的是,当我这样做,并且div正在获得固定的风格时,黑条下方的div跳了一下,这破坏了这个想法。
我认为你要看的主要CSS是:
.orangeContent {
max-width:960px;
width:100%;
margin:0px auto;
padding:40px 0px 0px 0px;}
header {
max-width:1920px;
width:100%;
margin:0px auto;
padding:0px;
background:#ffffff;
.stick {
position:fixed;
top:0px;
box-shadow:0px 4px 2px -2px #b32f01 ;
transition-duration:0.2s;}
当然是Javascript:
$(document).ready(function() {
var s = $("header");
var pos = s.position();
$(window).scroll(function() {
var windowpos = $(window).scrollTop();
if (windowpos >= pos.top) {
s.addClass("stick");
} else {
s.removeClass("stick");
}
});
});
所以,基本上,任何想法如何解决这个问题?
提前致谢。
答案 0 :(得分:2)
这是因为黑色标题跳出了盒子流,所以下面的div跳了起来。我建议你将类修复添加到pageWrapper而不是标题本身,然后在你的css中添加:
.pageWrapper header{
position: static
}
.pageWrapper div { /* the one with all the lorem ipsum */
padding-top: 0;
}
.pageWrapper.stick header{
position: fixed
}
.pageWrapper.stick div { /* the one with all the lorem ipsum */
padding-top: 20px; /* needs to be set as the same height of the header */
}
我编辑了你的小提琴,告诉你我的意思。
我使用了.stick + .text选择器,它基本上是指.stick之后的.text,但是我建议你将.text放在pageWrapper中,然后使用.stick .text
答案 1 :(得分:0)
当然,div将跳转为position:fixed
从流中获取元素。如果您的标头的静态高度比调整css文件中的header.stick + div
的填充(或边距),否则在添加/删除'stick'
类时重新计算