I have a page with multiple panel divs (the red divs). I would like to make it so the red panel headers stick to the top right below the green page header as the user scrolls.
Wondering if this can be done with PURE CSS and if not that PURE JS.
Please see my current code (I would like Panel Header 2 to replace Panel Header 1 when user is scrolled to Panel Header 2, then same for Panel Header 3):
.wrapper {
padding: 36px 0 0 0;
}
.header {
background-color: green;
position: fixed;
top: 0;
height: 60px;
}
.fixed-top {
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: 1030;
}
.panel-body {
padding-top: 27px;
}
.panel-header-fixed-top {
position: fixed;
top: 60;
right: 0;
left: 0;
z-index: 1030;
}
.panel-header {
background-color: red;
}
h1 {
margin: 0;
}
h2 {
margin: 0;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Fixed Scrolling Sample</title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<div class="wrapper">
<div class="header fixed-top">
<h1>Header</h1>
</div>
<div class="panel">
<div class="panel-header panel-header-fixed-top">
<h2>Panel 1 Header</h2>
</div>
<div class="panel-body">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vestibulum tortor efficitur nibh tristique, interdum
sollicitudin sapien cursus. Vivamus ac mauris gravida, consectetur est ac, cursus odio. Aliquam lacus dui, dignissim
sollicitudin aliquet eget, dapibus non ligula. Quisque ut rutrum felis. Integer eleifend quis turpis ac rhoncus.
Nunc at velit in sapien tincidunt ultricies id in nibh. Curabitur tempus condimentum congue. Nam tempor dignissim
auctor. Nulla egestas nulla velit, vel egestas leo iaculis ac. Curabitur fermentum lacinia nisi nec facilisis.
Fusce auctor sapien id mauris interdum, sit amet aliquet libero vehicula. Etiam porttitor quis mauris non ultrices.</p>
<p>In suscipit pulvinar pulvinar. Phasellus vitae nulla et ex blandit sollicitudin eu eu elit. Praesent fermentum
felis nunc, ut feugiat enim luctus nec. Nulla malesuada neque at lobortis malesuada. Pellentesque consectetur libero
odio, a commodo mi sodales tempus. Donec varius accumsan velit, semper feugiat diam maximus id. Vivamus vel leo
a tellus pellentesque suscipit eget sit amet est.</p>
<p>Sed hendrerit, enim ac semper dignissim, nisi turpis accumsan ante, nec porttitor libero nulla sit amet mauris.
Nam nec malesuada erat, at hendrerit elit. Aenean eu dui viverra, euismod libero non, sodales ipsum. Suspendisse
ut auctor nibh. Duis lobortis massa augue, et gravida ante mollis vel. Vivamus eros nibh, gravida nec tincidunt
vel, pharetra nec felis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris velit ipsum, aliquam
gravida convallis vel, ullamcorper in elit. Morbi porta lectus elementum lacus bibendum elementum. Ut quis nisi
eget nunc commodo pretium. Mauris consectetur aliquam diam id gravida. Sed nec nibh est. Vestibulum et est sit
amet ipsum posuere sodales.
</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vestibulum tortor efficitur nibh tristique, interdum
sollicitudin sapien cursus. Vivamus ac mauris gravida, consectetur est ac, cursus odio. Aliquam lacus dui, dignissim
sollicitudin aliquet eget, dapibus non ligula. Quisque ut rutrum felis. Integer eleifend quis turpis ac rhoncus.
Nunc at velit in sapien tincidunt ultricies id in nibh. Curabitur tempus condimentum congue. Nam tempor dignissim
auctor. Nulla egestas nulla velit, vel egestas leo iaculis ac. Curabitur fermentum lacinia nisi nec facilisis.
Fusce auctor sapien id mauris interdum, sit amet aliquet libero vehicula. Etiam porttitor quis mauris non ultrices.</p>
<p>In suscipit pulvinar pulvinar. Phasellus vitae nulla et ex blandit sollicitudin eu eu elit. Praesent fermentum
felis nunc, ut feugiat enim luctus nec. Nulla malesuada neque at lobortis malesuada. Pellentesque consectetur libero
odio, a commodo mi sodales tempus. Donec varius accumsan velit, semper feugiat diam maximus id. Vivamus vel leo
a tellus pellentesque suscipit eget sit amet est.</p>
<p>Proin luctus lectus libero, nec placerat turpis molestie nec. Vestibulum at velit dolor. Etiam eget consequat
eros, ut finibus mi. Pellentesque nec mi elementum, cursus magna nec, luctus purus. Duis pretium fringilla convallis.
Proin porta dictum leo, id euismod nunc fringilla sit amet. Fusce tellus lorem, placerat vel varius in, aliquet
id quam. Proin tempor, sapien vitae rutrum consectetur, dui lorem convallis massa, facilisis ultricies eros neque
sed quam. Nunc dictum et nibh commodo faucibus. Maecenas iaculis facilisis est, id malesuada quam scelerisque a.
In finibus mauris et nibh sagittis, vitae scelerisque tellus suscipit. Donec ultricies vitae nulla at mollis. Aenean
ullamcorper enim non dui suscipit, eu eleifend diam tincidunt. Mauris porta vitae justo eu venenatis.</p>
<p>Suspendisse in posuere erat. Nulla porttitor, enim non interdum pellentesque, mauris urna maximus tortor, sed
bibendum mauris dui pellentesque tellus. Praesent vehicula risus a pharetra aliquet. Sed in hendrerit erat. Sed
aliquet libero non dui tempus euismod. Aliquam felis augue, pulvinar non ex eu, feugiat pretium dolor. In viverra
enim lobortis lorem ultrices dictum. Proin id risus in nibh fringilla auctor vitae quis ex. Duis sodales elementum
libero. Etiam finibus pharetra ornare. Vivamus quis sapien turpis. Sed ultricies est eget turpis pellentesque,
vel ornare augue ornare. Nulla facilisi. Suspendisse et auctor sapien.</p>
<p>Sed hendrerit, enim ac semper dignissim, nisi turpis accumsan ante, nec porttitor libero nulla sit amet mauris.
Nam nec malesuada erat, at hendrerit elit. Aenean eu dui viverra, euismod libero non, sodales ipsum. Suspendisse
ut auctor nibh. Duis lobortis massa augue, et gravida ante mollis vel. Vivamus eros nibh, gravida nec tincidunt
vel, pharetra nec felis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris velit ipsum, aliquam
gravida convallis vel, ullamcorper in elit. Morbi porta lectus elementum lacus bibendum elementum. Ut quis nisi
eget nunc commodo pretium. Mauris consectetur aliquam diam id gravida. Sed nec nibh est. Vestibulum et est sit
amet ipsum posuere sodales.
</p>
</div>
</div>
<div class="panel">
<div class="panel-header">
<h2>Panel 2 Header</h2>
</div>
<div class="panel-body">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vestibulum tortor efficitur nibh tristique, interdum
sollicitudin sapien cursus. Vivamus ac mauris gravida, consectetur est ac, cursus odio. Aliquam lacus dui, dignissim
sollicitudin aliquet eget, dapibus non ligula. Quisque ut rutrum felis. Integer eleifend quis turpis ac rhoncus.
Nunc at velit in sapien tincidunt ultricies id in nibh. Curabitur tempus condimentum congue. Nam tempor dignissim
auctor. Nulla egestas nulla velit, vel egestas leo iaculis ac. Curabitur fermentum lacinia nisi nec facilisis.
Fusce auctor sapien id mauris interdum, sit amet aliquet libero vehicula. Etiam porttitor quis mauris non ultrices.</p>
<p>In suscipit pulvinar pulvinar. Phasellus vitae nulla et ex blandit sollicitudin eu eu elit. Praesent fermentum
felis nunc, ut feugiat enim luctus nec. Nulla malesuada neque at lobortis malesuada. Pellentesque consectetur libero
odio, a commodo mi sodales tempus. Donec varius accumsan velit, semper feugiat diam maximus id. Vivamus vel leo
a tellus pellentesque suscipit eget sit amet est.</p>
<p>Proin luctus lectus libero, nec placerat turpis molestie nec. Vestibulum at velit dolor. Etiam eget consequat
eros, ut finibus mi. Pellentesque nec mi elementum, cursus magna nec, luctus purus. Duis pretium fringilla convallis.
Proin porta dictum leo, id euismod nunc fringilla sit amet. Fusce tellus lorem, placerat vel varius in, aliquet
id quam. Proin tempor, sapien vitae rutrum consectetur, dui lorem convallis massa, facilisis ultricies eros neque
sed quam. Nunc dictum et nibh commodo faucibus. Maecenas iaculis facilisis est, id malesuada quam scelerisque a.
In finibus mauris et nibh sagittis, vitae scelerisque tellus suscipit. Donec ultricies vitae nulla at mollis. Aenean
ullamcorper enim non dui suscipit, eu eleifend diam tincidunt. Mauris porta vitae justo eu venenatis.</p>
<p>Suspendisse in posuere erat. Nulla porttitor, enim non interdum pellentesque, mauris urna maximus tortor, sed
bibendum mauris dui pellentesque tellus. Praesent vehicula risus a pharetra aliquet. Sed in hendrerit erat. Sed
aliquet libero non dui tempus euismod. Aliquam felis augue, pulvinar non ex eu, feugiat pretium dolor. In viverra
enim lobortis lorem ultrices dictum. Proin id risus in nibh fringilla auctor vitae quis ex. Duis sodales elementum
libero. Etiam finibus pharetra ornare. Vivamus quis sapien turpis. Sed ultricies est eget turpis pellentesque,
vel ornare augue ornare. Nulla facilisi. Suspendisse et auctor sapien.</p>
<p>Sed hendrerit, enim ac semper dignissim, nisi turpis accumsan ante, nec porttitor libero nulla sit amet mauris.
Nam nec malesuada erat, at hendrerit elit. Aenean eu dui viverra, euismod libero non, sodales ipsum. Suspendisse
ut auctor nibh. Duis lobortis massa augue, et gravida ante mollis vel. Vivamus eros nibh, gravida nec tincidunt
vel, pharetra nec felis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris velit ipsum, aliquam
gravida convallis vel, ullamcorper in elit. Morbi porta lectus elementum lacus bibendum elementum. Ut quis nisi
eget nunc commodo pretium. Mauris consectetur aliquam diam id gravida. Sed nec nibh est. Vestibulum et est sit
amet ipsum posuere sodales.
</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vestibulum tortor efficitur nibh tristique, interdum
sollicitudin sapien cursus. Vivamus ac mauris gravida, consectetur est ac, cursus odio. Aliquam lacus dui, dignissim
sollicitudin aliquet eget, dapibus non ligula. Quisque ut rutrum felis. Integer eleifend quis turpis ac rhoncus.
Nunc at velit in sapien tincidunt ultricies id in nibh. Curabitur tempus condimentum congue. Nam tempor dignissim
auctor. Nulla egestas nulla velit, vel egestas leo iaculis ac. Curabitur fermentum lacinia nisi nec facilisis.
Fusce auctor sapien id mauris interdum, sit amet aliquet libero vehicula. Etiam porttitor quis mauris non ultrices.</p>
<p>In suscipit pulvinar pulvinar. Phasellus vitae nulla et ex blandit sollicitudin eu eu elit. Praesent fermentum
felis nunc, ut feugiat enim luctus nec. Nulla malesuada neque at lobortis malesuada. Pellentesque consectetur libero
odio, a commodo mi sodales tempus. Donec varius accumsan velit, semper feugiat diam maximus id. Vivamus vel leo
a tellus pellentesque suscipit eget sit amet est.</p>
<p>Proin luctus lectus libero, nec placerat turpis molestie nec. Vestibulum at velit dolor. Etiam eget consequat
eros, ut finibus mi. Pellentesque nec mi elementum, cursus magna nec, luctus purus. Duis pretium fringilla convallis.
Proin porta dictum leo, id euismod nunc fringilla sit amet. Fusce tellus lorem, placerat vel varius in, aliquet
id quam. Proin tempor, sapien vitae rutrum consectetur, dui lorem convallis massa, facilisis ultricies eros neque
sed quam. Nunc dictum et nibh commodo faucibus. Maecenas iaculis facilisis est, id malesuada quam scelerisque a.
In finibus mauris et nibh sagittis, vitae scelerisque tellus suscipit. Donec ultricies vitae nulla at mollis. Aenean
ullamcorper enim non dui suscipit, eu eleifend diam tincidunt. Mauris porta vitae justo eu venenatis.</p>
<p>Suspendisse in posuere erat. Nulla porttitor, enim non interdum pellentesque, mauris urna maximus tortor, sed
bibendum mauris dui pellentesque tellus. Praesent vehicula risus a pharetra aliquet. Sed in hendrerit erat. Sed
aliquet libero non dui tempus euismod. Aliquam felis augue, pulvinar non ex eu, feugiat pretium dolor. In viverra
enim lobortis lorem ultrices dictum. Proin id risus in nibh fringilla auctor vitae quis ex. Duis sodales elementum
libero. Etiam finibus pharetra ornare. Vivamus quis sapien turpis. Sed ultricies est eget turpis pellentesque,
vel ornare augue ornare. Nulla facilisi. Suspendisse et auctor sapien.</p>
<p>Sed hendrerit, enim ac semper dignissim, nisi turpis accumsan ante, nec porttitor libero nulla sit amet mauris.
Nam nec malesuada erat, at hendrerit elit. Aenean eu dui viverra, euismod libero non, sodales ipsum. Suspendisse
ut auctor nibh. Duis lobortis massa augue, et gravida ante mollis vel. Vivamus eros nibh, gravida nec tincidunt
vel, pharetra nec felis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris velit ipsum, aliquam
gravida convallis vel, ullamcorper in elit. Morbi porta lectus elementum lacus bibendum elementum. Ut quis nisi
eget nunc commodo pretium. Mauris consectetur aliquam diam id gravida. Sed nec nibh est. Vestibulum et est sit
amet ipsum posuere sodales.
</p>
</div>
</div>
<div class="panel">
<div class="panel-header">
<h2>Panel 3 Header</h2>
</div>
<div class="panel-body">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vestibulum tortor efficitur nibh tristique, interdum
sollicitudin sapien cursus. Vivamus ac mauris gravida, consectetur est ac, cursus odio. Aliquam lacus dui, dignissim
sollicitudin aliquet eget, dapibus non ligula. Quisque ut rutrum felis. Integer eleifend quis turpis ac rhoncus.
Nunc at velit in sapien tincidunt ultricies id in nibh. Curabitur tempus condimentum congue. Nam tempor dignissim
auctor. Nulla egestas nulla velit, vel egestas leo iaculis ac. Curabitur fermentum lacinia nisi nec facilisis.
Fusce auctor sapien id mauris interdum, sit amet aliquet libero vehicula. Etiam porttitor quis mauris non ultrices.</p>
<p>In suscipit pulvinar pulvinar. Phasellus vitae nulla et ex blandit sollicitudin eu eu elit. Praesent fermentum
felis nunc, ut feugiat enim luctus nec. Nulla malesuada neque at lobortis malesuada. Pellentesque consectetur libero
odio, a commodo mi sodales tempus. Donec varius accumsan velit, semper feugiat diam maximus id. Vivamus vel leo
a tellus pellentesque suscipit eget sit amet est.</p>
<p>Proin luctus lectus libero, nec placerat turpis molestie nec. Vestibulum at velit dolor. Etiam eget consequat
eros, ut finibus mi. Pellentesque nec mi elementum, cursus magna nec, luctus purus. Duis pretium fringilla convallis.
Proin porta dictum leo, id euismod nunc fringilla sit amet. Fusce tellus lorem, placerat vel varius in, aliquet
id quam. Proin tempor, sapien vitae rutrum consectetur, dui lorem convallis massa, facilisis ultricies eros neque
sed quam. Nunc dictum et nibh commodo faucibus. Maecenas iaculis facilisis est, id malesuada quam scelerisque a.
In finibus mauris et nibh sagittis, vitae scelerisque tellus suscipit. Donec ultricies vitae nulla at mollis. Aenean
ullamcorper enim non dui suscipit, eu eleifend diam tincidunt. Mauris porta vitae justo eu venenatis.</p>
<p>Suspendisse in posuere erat. Nulla porttitor, enim non interdum pellentesque, mauris urna maximus tortor, sed
bibendum mauris dui pellentesque tellus. Praesent vehicula risus a pharetra aliquet. Sed in hendrerit erat. Sed
aliquet libero non dui tempus euismod. Aliquam felis augue, pulvinar non ex eu, feugiat pretium dolor. In viverra
enim lobortis lorem ultrices dictum. Proin id risus in nibh fringilla auctor vitae quis ex. Duis sodales elementum
libero. Etiam finibus pharetra ornare. Vivamus quis sapien turpis. Sed ultricies est eget turpis pellentesque,
vel ornare augue ornare. Nulla facilisi. Suspendisse et auctor sapien.</p>
<p>Sed hendrerit, enim ac semper dignissim, nisi turpis accumsan ante, nec porttitor libero nulla sit amet mauris.
Nam nec malesuada erat, at hendrerit elit. Aenean eu dui viverra, euismod libero non, sodales ipsum. Suspendisse
ut auctor nibh. Duis lobortis massa augue, et gravida ante mollis vel. Vivamus eros nibh, gravida nec tincidunt
vel, pharetra nec felis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris velit ipsum, aliquam
gravida convallis vel, ullamcorper in elit. Morbi porta lectus elementum lacus bibendum elementum. Ut quis nisi
eget nunc commodo pretium. Mauris consectetur aliquam diam id gravida. Sed nec nibh est. Vestibulum et est sit
amet ipsum posuere sodales.
</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vestibulum tortor efficitur nibh tristique, interdum
sollicitudin sapien cursus. Vivamus ac mauris gravida, consectetur est ac, cursus odio. Aliquam lacus dui, dignissim
sollicitudin aliquet eget, dapibus non ligula. Quisque ut rutrum felis. Integer eleifend quis turpis ac rhoncus.
Nunc at velit in sapien tincidunt ultricies id in nibh. Curabitur tempus condimentum congue. Nam tempor dignissim
auctor. Nulla egestas nulla velit, vel egestas leo iaculis ac. Curabitur fermentum lacinia nisi nec facilisis.
Fusce auctor sapien id mauris interdum, sit amet aliquet libero vehicula. Etiam porttitor quis mauris non ultrices.</p>
<p>In suscipit pulvinar pulvinar. Phasellus vitae nulla et ex blandit sollicitudin eu eu elit. Praesent fermentum
felis nunc, ut feugiat enim luctus nec. Nulla malesuada neque at lobortis malesuada. Pellentesque consectetur libero
odio, a commodo mi sodales tempus. Donec varius accumsan velit, semper feugiat diam maximus id. Vivamus vel leo
a tellus pellentesque suscipit eget sit amet est.</p>
<p>Proin luctus lectus libero, nec placerat turpis molestie nec. Vestibulum at velit dolor. Etiam eget consequat
eros, ut finibus mi. Pellentesque nec mi elementum, cursus magna nec, luctus purus. Duis pretium fringilla convallis.
Proin porta dictum leo, id euismod nunc fringilla sit amet. Fusce tellus lorem, placerat vel varius in, aliquet
id quam. Proin tempor, sapien vitae rutrum consectetur, dui lorem convallis massa, facilisis ultricies eros neque
sed quam. Nunc dictum et nibh commodo faucibus. Maecenas iaculis facilisis est, id malesuada quam scelerisque a.
In finibus mauris et nibh sagittis, vitae scelerisque tellus suscipit. Donec ultricies vitae nulla at mollis. Aenean
ullamcorper enim non dui suscipit, eu eleifend diam tincidunt. Mauris porta vitae justo eu venenatis.</p>
<p>Suspendisse in posuere erat. Nulla porttitor, enim non interdum pellentesque, mauris urna maximus tortor, sed
bibendum mauris dui pellentesque tellus. Praesent vehicula risus a pharetra aliquet. Sed in hendrerit erat. Sed
aliquet libero non dui tempus euismod. Aliquam felis augue, pulvinar non ex eu, feugiat pretium dolor. In viverra
enim lobortis lorem ultrices dictum. Proin id risus in nibh fringilla auctor vitae quis ex. Duis sodales elementum
libero. Etiam finibus pharetra ornare. Vivamus quis sapien turpis. Sed ultricies est eget turpis pellentesque,
vel ornare augue ornare. Nulla facilisi. Suspendisse et auctor sapien.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vestibulum tortor efficitur nibh tristique, interdum
sollicitudin sapien cursus. Vivamus ac mauris gravida, consectetur est ac, cursus odio. Aliquam lacus dui, dignissim
sollicitudin aliquet eget, dapibus non ligula. Quisque ut rutrum felis. Integer eleifend quis turpis ac rhoncus.
Nunc at velit in sapien tincidunt ultricies id in nibh. Curabitur tempus condimentum congue. Nam tempor dignissim
auctor. Nulla egestas nulla velit, vel egestas leo iaculis ac. Curabitur fermentum lacinia nisi nec facilisis.
Fusce auctor sapien id mauris interdum, sit amet aliquet libero vehicula. Etiam porttitor quis mauris non ultrices.</p>
<p>In suscipit pulvinar pulvinar. Phasellus vitae nulla et ex blandit sollicitudin eu eu elit. Praesent fermentum
felis nunc, ut feugiat enim luctus nec. Nulla malesuada neque at lobortis malesuada. Pellentesque consectetur libero
odio, a commodo mi sodales tempus. Donec varius accumsan velit, semper feugiat diam maximus id. Vivamus vel leo
a tellus pellentesque suscipit eget sit amet est.</p>
<p>Suspendisse in posuere erat. Nulla porttitor, enim non interdum pellentesque, mauris urna maximus tortor, sed
bibendum mauris dui pellentesque tellus. Praesent vehicula risus a pharetra aliquet. Sed in hendrerit erat. Sed
aliquet libero non dui tempus euismod. Aliquam felis augue, pulvinar non ex eu, feugiat pretium dolor. In viverra
enim lobortis lorem ultrices dictum. Proin id risus in nibh fringilla auctor vitae quis ex. Duis sodales elementum
libero. Etiam finibus pharetra ornare. Vivamus quis sapien turpis. Sed ultricies est eget turpis pellentesque,
vel ornare augue ornare. Nulla facilisi. Suspendisse et auctor sapien.</p>
<p>Sed hendrerit, enim ac semper dignissim, nisi turpis accumsan ante, nec porttitor libero nulla sit amet mauris.
Nam nec malesuada erat, at hendrerit elit. Aenean eu dui viverra, euismod libero non, sodales ipsum. Suspendisse
ut auctor nibh. Duis lobortis massa augue, et gravida ante mollis vel. Vivamus eros nibh, gravida nec tincidunt
vel, pharetra nec felis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris velit ipsum, aliquam
gravida convallis vel, ullamcorper in elit. Morbi porta lectus elementum lacus bibendum elementum. Ut quis nisi
eget nunc commodo pretium. Mauris consectetur aliquam diam id gravida. Sed nec nibh est. Vestibulum et est sit
amet ipsum posuere sodales.
</p>
</div>
</div>
<div class="panel">
<div class="panel-header">
<h2>Panel 4 Header</h2>
</div>
<div class="panel-body">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vestibulum tortor efficitur nibh tristique, interdum
sollicitudin sapien cursus. Vivamus ac mauris gravida, consectetur est ac, cursus odio. Aliquam lacus dui, dignissim
sollicitudin aliquet eget, dapibus non ligula. Quisque ut rutrum felis. Integer eleifend quis turpis ac rhoncus.
Nunc at velit in sapien tincidunt ultricies id in nibh. Curabitur tempus condimentum congue. Nam tempor dignissim
auctor. Nulla egestas nulla velit, vel egestas leo iaculis ac. Curabitur fermentum lacinia nisi nec facilisis.
Fusce auctor sapien id mauris interdum, sit amet aliquet libero vehicula. Etiam porttitor quis mauris non ultrices.</p>
<p>In suscipit pulvinar pulvinar. Phasellus vitae nulla et ex blandit sollicitudin eu eu elit. Praesent fermentum
felis nunc, ut feugiat enim luctus nec. Nulla malesuada neque at lobortis malesuada. Pellentesque consectetur libero
odio, a commodo mi sodales tempus. Donec varius accumsan velit, semper feugiat diam maximus id. Vivamus vel leo
a tellus pellentesque suscipit eget sit amet est.</p>
<p>Suspendisse in posuere erat. Nulla porttitor, enim non interdum pellentesque, mauris urna maximus tortor, sed
bibendum mauris dui pellentesque tellus. Praesent vehicula risus a pharetra aliquet. Sed in hendrerit erat. Sed
aliquet libero non dui tempus euismod. Aliquam felis augue, pulvinar non ex eu, feugiat pretium dolor. In viverra
enim lobortis lorem ultrices dictum. Proin id risus in nibh fringilla auctor vitae quis ex. Duis sodales elementum
libero. Etiam finibus pharetra ornare. Vivamus quis sapien turpis. Sed ultricies est eget turpis pellentesque,
vel ornare augue ornare. Nulla facilisi. Suspendisse et auctor sapien.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vestibulum tortor efficitur nibh tristique, interdum
sollicitudin sapien cursus. Vivamus ac mauris gravida, consectetur est ac, cursus odio. Aliquam lacus dui, dignissim
sollicitudin aliquet eget, dapibus non ligula. Quisque ut rutrum felis. Integer eleifend quis turpis ac rhoncus.
Nunc at velit in sapien tincidunt ultricies id in nibh. Curabitur tempus condimentum congue. Nam tempor dignissim
auctor. Nulla egestas nulla velit, vel egestas leo iaculis ac. Curabitur fermentum lacinia nisi nec facilisis.
Fusce auctor sapien id mauris interdum, sit amet aliquet libero vehicula. Etiam porttitor quis mauris non ultrices.</p>
<p>Suspendisse in posuere erat. Nulla porttitor, enim non interdum pellentesque, mauris urna maximus tortor, sed
bibendum mauris dui pellentesque tellus. Praesent vehicula risus a pharetra aliquet. Sed in hendrerit erat. Sed
aliquet libero non dui tempus euismod. Aliquam felis augue, pulvinar non ex eu, feugiat pretium dolor. In viverra
enim lobortis lorem ultrices dictum. Proin id risus in nibh fringilla auctor vitae quis ex. Duis sodales elementum
libero. Etiam finibus pharetra ornare. Vivamus quis sapien turpis. Sed ultricies est eget turpis pellentesque,
vel ornare augue ornare. Nulla facilisi. Suspendisse et auctor sapien.</p>
<p>Sed hendrerit, enim ac semper dignissim, nisi turpis accumsan ante, nec porttitor libero nulla sit amet mauris.
Nam nec malesuada erat, at hendrerit elit. Aenean eu dui viverra, euismod libero non, sodales ipsum. Suspendisse
ut auctor nibh. Duis lobortis massa augue, et gravida ante mollis vel. Vivamus eros nibh, gravida nec tincidunt
vel, pharetra nec felis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris velit ipsum, aliquam
gravida convallis vel, ullamcorper in elit. Morbi porta lectus elementum lacus bibendum elementum. Ut quis nisi
eget nunc commodo pretium. Mauris consectetur aliquam diam id gravida. Sed nec nibh est. Vestibulum et est sit
amet ipsum posuere sodales.
</p>
</div>
</div>
</div>
</body>
</html>
Probably this could help you only css, let me know if is useful for you.
.wrapper {
padding: 36px 0 0 0;
}
.header {
background-color: green;
position: fixed;
top: 0;
height: 60px;
}
.fixed-top {
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: 1030;
}
.panel-body {
padding-top: 27px;
}
.panel-header-fixed-top {
position: fixed;
top: 60;
right: 0;
left: 0;
/* z-index: 1030;*/
}
.panel-header {
background-color: red;
position: -webkit-sticky;
position: sticky;
top: 60px;
padding: 5px;
}
h1 {
margin: 0;
}
h2 {
margin: 0;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Fixed Scrolling Sample</title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<div class="wrapper">
<div class="header fixed-top">
<h1>Header</h1>
</div>
<div class="panel">
<div class="panel-header panel-header-fixed-top">
<h2>Panel 1 Header</h2>
</div>
<div class="panel-body">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vestibulum tortor efficitur nibh tristique, interdum
sollicitudin sapien cursus. Vivamus ac mauris gravida, consectetur est ac, cursus odio. Aliquam lacus dui, dignissim
sollicitudin aliquet eget, dapibus non ligula. Quisque ut rutrum felis. Integer eleifend quis turpis ac rhoncus.
Nunc at velit in sapien tincidunt ultricies id in nibh. Curabitur tempus condimentum congue. Nam tempor dignissim
auctor. Nulla egestas nulla velit, vel egestas leo iaculis ac. Curabitur fermentum lacinia nisi nec facilisis.
Fusce auctor sapien id mauris interdum, sit amet aliquet libero vehicula. Etiam porttitor quis mauris non ultrices.</p>
<p>In suscipit pulvinar pulvinar. Phasellus vitae nulla et ex blandit sollicitudin eu eu elit. Praesent fermentum
felis nunc, ut feugiat enim luctus nec. Nulla malesuada neque at lobortis malesuada. Pellentesque consectetur libero
odio, a commodo mi sodales tempus. Donec varius accumsan velit, semper feugiat diam maximus id. Vivamus vel leo
a tellus pellentesque suscipit eget sit amet est.</p>
<p>Sed hendrerit, enim ac semper dignissim, nisi turpis accumsan ante, nec porttitor libero nulla sit amet mauris.
Nam nec malesuada erat, at hendrerit elit. Aenean eu dui viverra, euismod libero non, sodales ipsum. Suspendisse
ut auctor nibh. Duis lobortis massa augue, et gravida ante mollis vel. Vivamus eros nibh, gravida nec tincidunt
vel, pharetra nec felis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris velit ipsum, aliquam
gravida convallis vel, ullamcorper in elit. Morbi porta lectus elementum lacus bibendum elementum. Ut quis nisi
eget nunc commodo pretium. Mauris consectetur aliquam diam id gravida. Sed nec nibh est. Vestibulum et est sit
amet ipsum posuere sodales.
</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vestibulum tortor efficitur nibh tristique, interdum
sollicitudin sapien cursus. Vivamus ac mauris gravida, consectetur est ac, cursus odio. Aliquam lacus dui, dignissim
sollicitudin aliquet eget, dapibus non ligula. Quisque ut rutrum felis. Integer eleifend quis turpis ac rhoncus.
Nunc at velit in sapien tincidunt ultricies id in nibh. Curabitur tempus condimentum congue. Nam tempor dignissim
auctor. Nulla egestas nulla velit, vel egestas leo iaculis ac. Curabitur fermentum lacinia nisi nec facilisis.
Fusce auctor sapien id mauris interdum, sit amet aliquet libero vehicula. Etiam porttitor quis mauris non ultrices.</p>
<p>In suscipit pulvinar pulvinar. Phasellus vitae nulla et ex blandit sollicitudin eu eu elit. Praesent fermentum
felis nunc, ut feugiat enim luctus nec. Nulla malesuada neque at lobortis malesuada. Pellentesque consectetur libero
odio, a commodo mi sodales tempus. Donec varius accumsan velit, semper feugiat diam maximus id. Vivamus vel leo
a tellus pellentesque suscipit eget sit amet est.</p>
<p>Proin luctus lectus libero, nec placerat turpis molestie nec. Vestibulum at velit dolor. Etiam eget consequat
eros, ut finibus mi. Pellentesque nec mi elementum, cursus magna nec, luctus purus. Duis pretium fringilla convallis.
Proin porta dictum leo, id euismod nunc fringilla sit amet. Fusce tellus lorem, placerat vel varius in, aliquet
id quam. Proin tempor, sapien vitae rutrum consectetur, dui lorem convallis massa, facilisis ultricies eros neque
sed quam. Nunc dictum et nibh commodo faucibus. Maecenas iaculis facilisis est, id malesuada quam scelerisque a.
In finibus mauris et nibh sagittis, vitae scelerisque tellus suscipit. Donec ultricies vitae nulla at mollis. Aenean
ullamcorper enim non dui suscipit, eu eleifend diam tincidunt. Mauris porta vitae justo eu venenatis.</p>
<p>Suspendisse in posuere erat. Nulla porttitor, enim non interdum pellentesque, mauris urna maximus tortor, sed
bibendum mauris dui pellentesque tellus. Praesent vehicula risus a pharetra aliquet. Sed in hendrerit erat. Sed
aliquet libero non dui tempus euismod. Aliquam felis augue, pulvinar non ex eu, feugiat pretium dolor. In viverra
enim lobortis lorem ultrices dictum. Proin id risus in nibh fringilla auctor vitae quis ex. Duis sodales elementum
libero. Etiam finibus pharetra ornare. Vivamus quis sapien turpis. Sed ultricies est eget turpis pellentesque,
vel ornare augue ornare. Nulla facilisi. Suspendisse et auctor sapien.</p>
<p>Sed hendrerit, enim ac semper dignissim, nisi turpis accumsan ante, nec porttitor libero nulla sit amet mauris.
Nam nec malesuada erat, at hendrerit elit. Aenean eu dui viverra, euismod libero non, sodales ipsum. Suspendisse
ut auctor nibh. Duis lobortis massa augue, et gravida ante mollis vel. Vivamus eros nibh, gravida nec tincidunt
vel, pharetra nec felis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris velit ipsum, aliquam
gravida convallis vel, ullamcorper in elit. Morbi porta lectus elementum lacus bibendum elementum. Ut quis nisi
eget nunc commodo pretium. Mauris consectetur aliquam diam id gravida. Sed nec nibh est. Vestibulum et est sit
amet ipsum posuere sodales.
</p>
</div>
</div>
<div class="panel">
<div class="panel-header">
<h2>Panel 2 Header</h2>
</div>
<div class="panel-body">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vestibulum tortor efficitur nibh tristique, interdum
sollicitudin sapien cursus. Vivamus ac mauris gravida, consectetur est ac, cursus odio. Aliquam lacus dui, dignissim
sollicitudin aliquet eget, dapibus non ligula. Quisque ut rutrum felis. Integer eleifend quis turpis ac rhoncus.
Nunc at velit in sapien tincidunt ultricies id in nibh. Curabitur tempus condimentum congue. Nam tempor dignissim
auctor. Nulla egestas nulla velit, vel egestas leo iaculis ac. Curabitur fermentum lacinia nisi nec facilisis.
Fusce auctor sapien id mauris interdum, sit amet aliquet libero vehicula. Etiam porttitor quis mauris non ultrices.</p>
<p>In suscipit pulvinar pulvinar. Phasellus vitae nulla et ex blandit sollicitudin eu eu elit. Praesent fermentum
felis nunc, ut feugiat enim luctus nec. Nulla malesuada neque at lobortis malesuada. Pellentesque consectetur libero
odio, a commodo mi sodales tempus. Donec varius accumsan velit, semper feugiat diam maximus id. Vivamus vel leo
a tellus pellentesque suscipit eget sit amet est.</p>
<p>Proin luctus lectus libero, nec placerat turpis molestie nec. Vestibulum at velit dolor. Etiam eget consequat
eros, ut finibus mi. Pellentesque nec mi elementum, cursus magna nec, luctus purus. Duis pretium fringilla convallis.
Proin porta dictum leo, id euismod nunc fringilla sit amet. Fusce tellus lorem, placerat vel varius in, aliquet
id quam. Proin tempor, sapien vitae rutrum consectetur, dui lorem convallis massa, facilisis ultricies eros neque
sed quam. Nunc dictum et nibh commodo faucibus. Maecenas iaculis facilisis est, id malesuada quam scelerisque a.
In finibus mauris et nibh sagittis, vitae scelerisque tellus suscipit. Donec ultricies vitae nulla at mollis. Aenean
ullamcorper enim non dui suscipit, eu eleifend diam tincidunt. Mauris porta vitae justo eu venenatis.</p>
<p>Suspendisse in posuere erat. Nulla porttitor, enim non interdum pellentesque, mauris urna maximus tortor, sed
bibendum mauris dui pellentesque tellus. Praesent vehicula risus a pharetra aliquet. Sed in hendrerit erat. Sed
aliquet libero non dui tempus euismod. Aliquam felis augue, pulvinar non ex eu, feugiat pretium dolor. In viverra
enim lobortis lorem ultrices dictum. Proin id risus in nibh fringilla auctor vitae quis ex. Duis sodales elementum
libero. Etiam finibus pharetra ornare. Vivamus quis sapien turpis. Sed ultricies est eget turpis pellentesque,
vel ornare augue ornare. Nulla facilisi. Suspendisse et auctor sapien.</p>
<p>Sed hendrerit, enim ac semper dignissim, nisi turpis accumsan ante, nec porttitor libero nulla sit amet mauris.
Nam nec malesuada erat, at hendrerit elit. Aenean eu dui viverra, euismod libero non, sodales ipsum. Suspendisse
ut auctor nibh. Duis lobortis massa augue, et gravida ante mollis vel. Vivamus eros nibh, gravida nec tincidunt
vel, pharetra nec felis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris velit ipsum, aliquam
gravida convallis vel, ullamcorper in elit. Morbi porta lectus elementum lacus bibendum elementum. Ut quis nisi
eget nunc commodo pretium. Mauris consectetur aliquam diam id gravida. Sed nec nibh est. Vestibulum et est sit
amet ipsum posuere sodales.
</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vestibulum tortor efficitur nibh tristique, interdum
sollicitudin sapien cursus. Vivamus ac mauris gravida, consectetur est ac, cursus odio. Aliquam lacus dui, dignissim
sollicitudin aliquet eget, dapibus non ligula. Quisque ut rutrum felis. Integer eleifend quis turpis ac rhoncus.
Nunc at velit in sapien tincidunt ultricies id in nibh. Curabitur tempus condimentum congue. Nam tempor dignissim
auctor. Nulla egestas nulla velit, vel egestas leo iaculis ac. Curabitur fermentum lacinia nisi nec facilisis.
Fusce auctor sapien id mauris interdum, sit amet aliquet libero vehicula. Etiam porttitor quis mauris non ultrices.</p>
<p>In suscipit pulvinar pulvinar. Phasellus vitae nulla et ex blandit sollicitudin eu eu elit. Praesent fermentum
felis nunc, ut feugiat enim luctus nec. Nulla malesuada neque at lobortis malesuada. Pellentesque consectetur libero
odio, a commodo mi sodales tempus. Donec varius accumsan velit, semper feugiat diam maximus id. Vivamus vel leo
a tellus pellentesque suscipit eget sit amet est.</p>
<p>Proin luctus lectus libero, nec placerat turpis molestie nec. Vestibulum at velit dolor. Etiam eget consequat
eros, ut finibus mi. Pellentesque nec mi elementum, cursus magna nec, luctus purus. Duis pretium fringilla convallis.
Proin porta dictum leo, id euismod nunc fringilla sit amet. Fusce tellus lorem, placerat vel varius in, aliquet
id quam. Proin tempor, sapien vitae rutrum consectetur, dui lorem convallis massa, facilisis ultricies eros neque
sed quam. Nunc dictum et nibh commodo faucibus. Maecenas iaculis facilisis est, id malesuada quam scelerisque a.
In finibus mauris et nibh sagittis, vitae scelerisque tellus suscipit. Donec ultricies vitae nulla at mollis. Aenean
ullamcorper enim non dui suscipit, eu eleifend diam tincidunt. Mauris porta vitae justo eu venenatis.</p>
<p>Suspendisse in posuere erat. Nulla porttitor, enim non interdum pellentesque, mauris urna maximus tortor, sed
bibendum mauris dui pellentesque tellus. Praesent vehicula risus a pharetra aliquet. Sed in hendrerit erat. Sed
aliquet libero non dui tempus euismod. Aliquam felis augue, pulvinar non ex eu, feugiat pretium dolor. In viverra
enim lobortis lorem ultrices dictum. Proin id risus in nibh fringilla auctor vitae quis ex. Duis sodales elementum
libero. Etiam finibus pharetra ornare. Vivamus quis sapien turpis. Sed ultricies est eget turpis pellentesque,
vel ornare augue ornare. Nulla facilisi. Suspendisse et auctor sapien.</p>
<p>Sed hendrerit, enim ac semper dignissim, nisi turpis accumsan ante, nec porttitor libero nulla sit amet mauris.
Nam nec malesuada erat, at hendrerit elit. Aenean eu dui viverra, euismod libero non, sodales ipsum. Suspendisse
ut auctor nibh. Duis lobortis massa augue, et gravida ante mollis vel. Vivamus eros nibh, gravida nec tincidunt
vel, pharetra nec felis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris velit ipsum, aliquam
gravida convallis vel, ullamcorper in elit. Morbi porta lectus elementum lacus bibendum elementum. Ut quis nisi
eget nunc commodo pretium. Mauris consectetur aliquam diam id gravida. Sed nec nibh est. Vestibulum et est sit
amet ipsum posuere sodales.
</p>
</div>
</div>
<div class="panel">
<div class="panel-header">
<h2>Panel 3 Header</h2>
</div>
<div class="panel-body">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vestibulum tortor efficitur nibh tristique, interdum
sollicitudin sapien cursus. Vivamus ac mauris gravida, consectetur est ac, cursus odio. Aliquam lacus dui, dignissim
sollicitudin aliquet eget, dapibus non ligula. Quisque ut rutrum felis. Integer eleifend quis turpis ac rhoncus.
Nunc at velit in sapien tincidunt ultricies id in nibh. Curabitur tempus condimentum congue. Nam tempor dignissim
auctor. Nulla egestas nulla velit, vel egestas leo iaculis ac. Curabitur fermentum lacinia nisi nec facilisis.
Fusce auctor sapien id mauris interdum, sit amet aliquet libero vehicula. Etiam porttitor quis mauris non ultrices.</p>
<p>In suscipit pulvinar pulvinar. Phasellus vitae nulla et ex blandit sollicitudin eu eu elit. Praesent fermentum
felis nunc, ut feugiat enim luctus nec. Nulla malesuada neque at lobortis malesuada. Pellentesque consectetur libero
odio, a commodo mi sodales tempus. Donec varius accumsan velit, semper feugiat diam maximus id. Vivamus vel leo
a tellus pellentesque suscipit eget sit amet est.</p>
<p>Proin luctus lectus libero, nec placerat turpis molestie nec. Vestibulum at velit dolor. Etiam eget consequat
eros, ut finibus mi. Pellentesque nec mi elementum, cursus magna nec, luctus purus. Duis pretium fringilla convallis.
Proin porta dictum leo, id euismod nunc fringilla sit amet. Fusce tellus lorem, placerat vel varius in, aliquet
id quam. Proin tempor, sapien vitae rutrum consectetur, dui lorem convallis massa, facilisis ultricies eros neque
sed quam. Nunc dictum et nibh commodo faucibus. Maecenas iaculis facilisis est, id malesuada quam scelerisque a.
In finibus mauris et nibh sagittis, vitae scelerisque tellus suscipit. Donec ultricies vitae nulla at mollis. Aenean
ullamcorper enim non dui suscipit, eu eleifend diam tincidunt. Mauris porta vitae justo eu venenatis.</p>
<p>Suspendisse in posuere erat. Nulla porttitor, enim non interdum pellentesque, mauris urna maximus tortor, sed
bibendum mauris dui pellentesque tellus. Praesent vehicula risus a pharetra aliquet. Sed in hendrerit erat. Sed
aliquet libero non dui tempus euismod. Aliquam felis augue, pulvinar non ex eu, feugiat pretium dolor. In viverra
enim lobortis lorem ultrices dictum. Proin id risus in nibh fringilla auctor vitae quis ex. Duis sodales elementum
libero. Etiam finibus pharetra ornare. Vivamus quis sapien turpis. Sed ultricies est eget turpis pellentesque,
vel ornare augue ornare. Nulla facilisi. Suspendisse et auctor sapien.</p>
<p>Sed hendrerit, enim ac semper dignissim, nisi turpis accumsan ante, nec porttitor libero nulla sit amet mauris.
Nam nec malesuada erat, at hendrerit elit. Aenean eu dui viverra, euismod libero non, sodales ipsum. Suspendisse
ut auctor nibh. Duis lobortis massa augue, et gravida ante mollis vel. Vivamus eros nibh, gravida nec tincidunt
vel, pharetra nec felis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris velit ipsum, aliquam
gravida convallis vel, ullamcorper in elit. Morbi porta lectus elementum lacus bibendum elementum. Ut quis nisi
eget nunc commodo pretium. Mauris consectetur aliquam diam id gravida. Sed nec nibh est. Vestibulum et est sit
amet ipsum posuere sodales.
</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vestibulum tortor efficitur nibh tristique, interdum
sollicitudin sapien cursus. Vivamus ac mauris gravida, consectetur est ac, cursus odio. Aliquam lacus dui, dignissim
sollicitudin aliquet eget, dapibus non ligula. Quisque ut rutrum felis. Integer eleifend quis turpis ac rhoncus.
Nunc at velit in sapien tincidunt ultricies id in nibh. Curabitur tempus condimentum congue. Nam tempor dignissim
auctor. Nulla egestas nulla velit, vel egestas leo iaculis ac. Curabitur fermentum lacinia nisi nec facilisis.
Fusce auctor sapien id mauris interdum, sit amet aliquet libero vehicula. Etiam porttitor quis mauris non ultrices.</p>
<p>In suscipit pulvinar pulvinar. Phasellus vitae nulla et ex blandit sollicitudin eu eu elit. Praesent fermentum
felis nunc, ut feugiat enim luctus nec. Nulla malesuada neque at lobortis malesuada. Pellentesque consectetur libero
odio, a commodo mi sodales tempus. Donec varius accumsan velit, semper feugiat diam maximus id. Vivamus vel leo
a tellus pellentesque suscipit eget sit amet est.</p>
<p>Proin luctus lectus libero, nec placerat turpis molestie nec. Vestibulum at velit dolor. Etiam eget consequat
eros, ut finibus mi. Pellentesque nec mi elementum, cursus magna nec, luctus purus. Duis pretium fringilla convallis.
Proin porta dictum leo, id euismod nunc fringilla sit amet. Fusce tellus lorem, placerat vel varius in, aliquet
id quam. Proin tempor, sapien vitae rutrum consectetur, dui lorem convallis massa, facilisis ultricies eros neque
sed quam. Nunc dictum et nibh commodo faucibus. Maecenas iaculis facilisis est, id malesuada quam scelerisque a.
In finibus mauris et nibh sagittis, vitae scelerisque tellus suscipit. Donec ultricies vitae nulla at mollis. Aenean
ullamcorper enim non dui suscipit, eu eleifend diam tincidunt. Mauris porta vitae justo eu venenatis.</p>
<p>Suspendisse in posuere erat. Nulla porttitor, enim non interdum pellentesque, mauris urna maximus tortor, sed
bibendum mauris dui pellentesque tellus. Praesent vehicula risus a pharetra aliquet. Sed in hendrerit erat. Sed
aliquet libero non dui tempus euismod. Aliquam felis augue, pulvinar non ex eu, feugiat pretium dolor. In viverra
enim lobortis lorem ultrices dictum. Proin id risus in nibh fringilla auctor vitae quis ex. Duis sodales elementum
libero. Etiam finibus pharetra ornare. Vivamus quis sapien turpis. Sed ultricies est eget turpis pellentesque,
vel ornare augue ornare. Nulla facilisi. Suspendisse et auctor sapien.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vestibulum tortor efficitur nibh tristique, interdum
sollicitudin sapien cursus. Vivamus ac mauris gravida, consectetur est ac, cursus odio. Aliquam lacus dui, dignissim
sollicitudin aliquet eget, dapibus non ligula. Quisque ut rutrum felis. Integer eleifend quis turpis ac rhoncus.
Nunc at velit in sapien tincidunt ultricies id in nibh. Curabitur tempus condimentum congue. Nam tempor dignissim
auctor. Nulla egestas nulla velit, vel egestas leo iaculis ac. Curabitur fermentum lacinia nisi nec facilisis.
Fusce auctor sapien id mauris interdum, sit amet aliquet libero vehicula. Etiam porttitor quis mauris non ultrices.</p>
<p>In suscipit pulvinar pulvinar. Phasellus vitae nulla et ex blandit sollicitudin eu eu elit. Praesent fermentum
felis nunc, ut feugiat enim luctus nec. Nulla malesuada neque at lobortis malesuada. Pellentesque consectetur libero
odio, a commodo mi sodales tempus. Donec varius accumsan velit, semper feugiat diam maximus id. Vivamus vel leo
a tellus pellentesque suscipit eget sit amet est.</p>
<p>Suspendisse in posuere erat. Nulla porttitor, enim non interdum pellentesque, mauris urna maximus tortor, sed
bibendum mauris dui pellentesque tellus. Praesent vehicula risus a pharetra aliquet. Sed in hendrerit erat. Sed
aliquet libero non dui tempus euismod. Aliquam felis augue, pulvinar non ex eu, feugiat pretium dolor. In viverra
enim lobortis lorem ultrices dictum. Proin id risus in nibh fringilla auctor vitae quis ex. Duis sodales elementum
libero. Etiam finibus pharetra ornare. Vivamus quis sapien turpis. Sed ultricies est eget turpis pellentesque,
vel ornare augue ornare. Nulla facilisi. Suspendisse et auctor sapien.</p>
<p>Sed hendrerit, enim ac semper dignissim, nisi turpis accumsan ante, nec porttitor libero nulla sit amet mauris.
Nam nec malesuada erat, at hendrerit elit. Aenean eu dui viverra, euismod libero non, sodales ipsum. Suspendisse
ut auctor nibh. Duis lobortis massa augue, et gravida ante mollis vel. Vivamus eros nibh, gravida nec tincidunt
vel, pharetra nec felis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris velit ipsum, aliquam
gravida convallis vel, ullamcorper in elit. Morbi porta lectus elementum lacus bibendum elementum. Ut quis nisi
eget nunc commodo pretium. Mauris consectetur aliquam diam id gravida. Sed nec nibh est. Vestibulum et est sit
amet ipsum posuere sodales.
</p>
</div>
</div>
<div class="panel">
<div class="panel-header">
<h2>Panel 4 Header</h2>
</div>
<div class="panel-body">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vestibulum tortor efficitur nibh tristique, interdum
sollicitudin sapien cursus. Vivamus ac mauris gravida, consectetur est ac, cursus odio. Aliquam lacus dui, dignissim
sollicitudin aliquet eget, dapibus non ligula. Quisque ut rutrum felis. Integer eleifend quis turpis ac rhoncus.
Nunc at velit in sapien tincidunt ultricies id in nibh. Curabitur tempus condimentum congue. Nam tempor dignissim
auctor. Nulla egestas nulla velit, vel egestas leo iaculis ac. Curabitur fermentum lacinia nisi nec facilisis.
Fusce auctor sapien id mauris interdum, sit amet aliquet libero vehicula. Etiam porttitor quis mauris non ultrices.</p>
<p>In suscipit pulvinar pulvinar. Phasellus vitae nulla et ex blandit sollicitudin eu eu elit. Praesent fermentum
felis nunc, ut feugiat enim luctus nec. Nulla malesuada neque at lobortis malesuada. Pellentesque consectetur libero
odio, a commodo mi sodales tempus. Donec varius accumsan velit, semper feugiat diam maximus id. Vivamus vel leo
a tellus pellentesque suscipit eget sit amet est.</p>
</div>
</div>
</div>
</body>
</html>
I got an layout using bootstrap with multiple floating divs.
I want to retrieve the space between the divs using JavaScript. Ive only no idea how i can do this. See below picture.
A picture says a 1000 words ;)
Ive created a fiddle with above layout, i will paste it here so you can play with it if you want.
.page-container {
background: #ededed;
padding: 40px 0;
}
.column {
padding: 15px;
background-color: white;
box-shadow: 1px 1px 3px #ccc;
}
[class^="col-"] {
margin-bottom: 30px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<div class="page-container">
<div class="container">
<div class="col-md-6 col-sm-6 col-xs-6">
<div class="column">
<h2>
Floating element #1
</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus finibus ullamcorper commodo. Donec volutpat porttitor elit sit amet aliquet. Nam eget felis vel sapien tempus tincidunt placerat ac lectus. Donec malesuada, est ac accumsan porta, leo augue varius ante, ut cursus tortor mauris non ipsum. Vestibulum nec odio diam. Integer gravida varius risus quis euismod. Donec iaculis velit vitae semper bibendum. Donec et volutpat ligula. Sed in elit et risus facilisis maximus. Cras tempor sollicitudin velit, a mattis elit molestie non. Maecenas vitae eros in leo feugiat maximus at porttitor mauris. Vivamus vulputate tellus laoreet neque vulputate suscipit sit amet eget ipsum. Donec faucibus dignissim erat, at bibendum dui laoreet eget.
</p>
<p>
Curabitur quam sapien, lacinia sit amet sagittis sed, fringilla nec arcu. Morbi at velit facilisis, aliquet justo non, tincidunt mauris. Curabitur tempus ante sit amet auctor fringilla. Sed ut velit ac purus euismod placerat. Fusce ultrices feugiat tortor at condimentum. Ut eleifend eget velit at vulputate. In commodo ligula et urna ultrices, non ullamcorper est pharetra. Donec pharetra, purus a aliquam rutrum, lacus arcu porttitor nunc, eu maximus eros justo sed neque. Fusce a urna non enim lobortis venenatis. Suspendisse potenti.
</p>
</div>
</div>
<div class="col-md-6 col-sm-6 col-xs-6">
<div class="column">
<h2>
Floating element #2
</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus finibus ullamcorper commodo. Donec volutpat porttitor elit sit amet aliquet. Nam eget felis vel sapien tempus tincidunt placerat ac lectus. Donec malesuada, est ac accumsan porta, leo augue varius ante, ut cursus tortor mauris non ipsum. Vestibulum nec odio diam. Integer gravida varius risus quis euismod. Donec iaculis velit vitae semper bibendum. Donec et volutpat ligula. Sed in elit et risus facilisis maximus. Cras tempor sollicitudin velit, a mattis elit molestie non. Maecenas vitae eros in leo feugiat maximus at porttitor mauris. Vivamus vulputate tellus laoreet neque vulputate suscipit sit amet eget ipsum. Donec faucibus dignissim erat, at bibendum dui laoreet eget.
</p>
</div>
</div>
<div class="col-md-6 col-sm-6 col-xs-6">
<div class="column">
<h2>
Floating element #3
</h2>
<p>
Curabitur quam sapien, lacinia sit amet sagittis sed, fringilla nec arcu. Morbi at velit facilisis, aliquet justo non, tincidunt mauris. Curabitur tempus ante sit amet auctor fringilla. Sed ut velit ac purus euismod placerat. Fusce ultrices feugiat tortor at condimentum. Ut eleifend eget velit at vulputate. In commodo ligula et urna ultrices, non ullamcorper est pharetra. Donec pharetra, purus a aliquam rutrum, lacus arcu porttitor nunc, eu maximus eros justo sed neque. Fusce a urna non enim lobortis venenatis. Suspendisse potenti.
</p>
<p>
Fusce a velit et justo porttitor sollicitudin a a velit. Praesent ultrices arcu a sodales ultricies. Etiam cursus mattis dapibus. Fusce vulputate commodo pretium. Suspendisse a orci vitae ipsum interdum dapibus a quis velit. Proin euismod, lectus id euismod semper, tellus nunc luctus dui, consectetur venenatis erat mi eu dolor. Nunc eleifend semper lacus, at hendrerit massa. Praesent ac magna at lacus commodo faucibus eu sit amet magna. Donec pellentesque felis et leo interdum dignissim. Sed sit amet sapien ac quam auctor semper quis ut nibh. Vivamus consectetur, ipsum luctus semper viverra, sem arcu sagittis mauris, a interdum odio sapien in augue.
</p>
<p>
Nam ut bibendum urna, sed congue neque. Nunc a nunc venenatis, porttitor odio vitae, finibus est. Suspendisse quis purus a diam aliquam ullamcorper eu sed dolor. Etiam ac eros eget nisl pretium lobortis. Nulla convallis id nunc eget efficitur. Morbi vel elementum justo. Phasellus et egestas quam. Cras eu tristique urna. Cras ac justo efficitur, consectetur eros et, tincidunt nulla. Quisque et cursus ipsum. Ut tincidunt, purus et tempor fermentum, nulla diam suscipit ex, non sodales eros nunc vel ante. Duis quis justo quam. Sed imperdiet lorem et blandit pretium. Etiam elit dui, tristique et vehicula vitae, venenatis et augue.
</p>
</div>
</div>
<div class="col-md-6 col-sm-6 col-xs-6">
<div class="column">
<h2>
Floating element #4
</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus finibus ullamcorper commodo. Donec volutpat porttitor elit sit amet aliquet. Nam eget felis vel sapien tempus tincidunt placerat ac lectus. Donec malesuada, est ac accumsan porta, leo augue varius ante, ut cursus tortor mauris non ipsum. Vestibulum nec odio diam. Integer gravida varius risus quis euismod. Donec iaculis velit vitae semper bibendum. Donec et volutpat ligula. Sed in elit et risus facilisis maximus. Cras tempor sollicitudin velit, a mattis elit molestie non. Maecenas vitae eros in leo feugiat maximus at porttitor mauris. Vivamus vulputate tellus laoreet neque vulputate suscipit sit amet eget ipsum. Donec faucibus dignissim erat, at bibendum dui laoreet eget.
</p>
<p>
Curabitur quam sapien, lacinia sit amet sagittis sed, fringilla nec arcu. Morbi at velit facilisis, aliquet justo non, tincidunt mauris. Curabitur tempus ante sit amet auctor fringilla. Sed ut velit ac purus euismod placerat. Fusce ultrices feugiat tortor at condimentum. Ut eleifend eget velit at vulputate. In commodo ligula et urna ultrices, non ullamcorper est pharetra. Donec pharetra, purus a aliquam rutrum, lacus arcu porttitor nunc, eu maximus eros justo sed neque. Fusce a urna non enim lobortis venenatis. Suspendisse potenti.
</p>
</div>
</div>
<div class="col-md-6 col-sm-6 col-xs-6">
<div class="column">
<h2>
Floating element #4
</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus finibus ullamcorper commodo. Donec volutpat porttitor elit sit amet aliquet. Nam eget felis vel sapien tempus tincidunt placerat ac lectus. Donec malesuada, est ac accumsan porta, leo augue varius ante, ut cursus tortor mauris non ipsum. Vestibulum nec odio diam. Integer gravida varius risus quis euismod. Donec iaculis velit vitae semper bibendum. Donec et volutpat ligula. Sed in elit et risus facilisis maximus. Cras tempor sollicitudin velit, a mattis elit molestie non. Maecenas vitae eros in leo feugiat maximus at porttitor mauris. Vivamus vulputate tellus laoreet neque vulputate suscipit sit amet eget ipsum. Donec faucibus dignissim erat, at bibendum dui laoreet eget.
</p>
</div>
</div>
</div>
</div>
Im trying to get those pixel, and move the underlying div up using JavaScript. I know i can use something like masonry. But i can't get those working in my application.
Does anyone have an idea how i can do this? (oh, using jQuery is no problem)
Try one of:
var h = document.getElementById('someDiv').clientHeight;
var h = document.getElementById('someDiv').offsetHeight;
var h = document.getElementById('someDiv').scrollHeight;
clientHeight includes the height and vertical padding.
offsetHeight includes the height, vertical padding, and vertical borders.
scrollHeight includes the height of the contained document (would be greater than just height in case of scrolling), vertical padding, and vertical borders.
with JQuery
$('#someDiv').height();
$('#someDiv').width();
Get first element's x,y cordinates (e.g Retrieve the position (X,Y) of an HTML element)
Get first elements height and width (e.g. marco gomes answer)
Get fourth element's x,y cordinates
Calculate:
Fourth's x pos minus (First's x pos + height) = empty space's height
As it is same width as other's width, you have a width.
If you need dynamically find gaps, you can loop all divs and put them in column groups (with help of x pos). Then you do above for each group's current and next in order element (they should be in right order). If the vertical difference is above set rule, you can assume you have a gap.
I have a menu and footer with a position:fixed;, so they stay all the time at the top and bottom.
In this case Menu is always at the top and footer always at the bottom.
Here is the HTML Markup and CSS
PLEASE READ BELOW TO SEE WHAT I AM TRYING TO ACHIEVE AND TO SEE UPDATE.
**** ORIGINAL POST ****
html, body {
padding:0;
margin:0;
}
nav, footer {
position:fixed;
background:#900;
height:50px;
width:100%;
}
nav {
top:0;
}
footer {
bottom:0;
}
p {
background: #E6E6E6;
margin:0 0 10px 0;
}
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Fixed Footer</title>
</head>
<body>
<nav>Top Fixed Menu</nav>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur ut libero in est dictum rutrum eu in nibh. Etiam tincidunt neque ante, eu efficitur velit semper sed. Ut lobortis et felis vitae aliquet. Nulla tincidunt leo vitae elit posuere, eu fermentum metus dictum. Praesent tincidunt egestas massa. Cras iaculis aliquam malesuada. Pellentesque at turpis diam. Vestibulum turpis augue, pulvinar et augue quis, venenatis dapibus dui. Nunc sollicitudin porta mauris, vel gravida erat placerat a.</p>
<p>Vivamus facilisis orci nec leo ultrices tristique. Donec euismod tincidunt luctus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer congue mattis convallis. Curabitur in dictum nisi, lacinia porta lectus.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque commodo imperdiet scelerisque. Mauris vitae erat ut enim imperdiet pulvinar a vitae augue. Pellentesque non sem ipsum. Nam id quam metus. Aliquam nulla ipsum, ullamcorper vel est vitae, euismod feugiat massa. Nullam molestie, odio sollicitudin egestas laoreet, elit tortor pharetra arcu, consectetur dignissim quam libero in augue. Suspendisse augue diam, condimentum nec sagittis ac, rutrum sit amet orci. Nulla facilisi. Cras finibus lorem diam. In non tortor ut urna lobortis fermentum. Maecenas a orci odio. Aenean turpis enim, tincidunt nec mi non, dapibus iaculis diam. Vivamus eleifend velit id nulla eleifend gravida.</p>
<p>Sed rutrum dui non dui rhoncus tristique. Nulla in enim est. Sed sollicitudin pharetra risus ut vestibulum. Sed sed cursus magna, non imperdiet turpis. Praesent gravida lacinia congue. In non neque sed nulla fermentum eleifend gravida ac sem. In eget molestie velit. Suspendisse bibendum nec eros id dapibus. Quisque sagittis a ante in mollis.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur ut libero in est dictum rutrum eu in nibh. Etiam tincidunt neque ante, eu efficitur velit semper sed. Ut lobortis et felis vitae aliquet. Nulla tincidunt leo vitae elit posuere, eu fermentum metus dictum. Praesent tincidunt egestas massa. Cras iaculis aliquam malesuada. Pellentesque at turpis diam. Vestibulum turpis augue, pulvinar et augue quis, venenatis dapibus dui. Nunc sollicitudin porta mauris, vel gravida erat placerat a.</p>
<p>Vivamus facilisis orci nec leo ultrices tristique. Donec euismod tincidunt luctus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer congue mattis convallis. Curabitur in dictum nisi, lacinia porta lectus.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque commodo imperdiet scelerisque. Mauris vitae erat ut enim imperdiet pulvinar a vitae augue. Pellentesque non sem ipsum. Nam id quam metus. Aliquam nulla ipsum, ullamcorper vel est vitae, euismod feugiat massa. Nullam molestie, odio sollicitudin egestas laoreet, elit tortor pharetra arcu, consectetur dignissim quam libero in augue. Suspendisse augue diam, condimentum nec sagittis ac, rutrum sit amet orci. Nulla facilisi. Cras finibus lorem diam. In non tortor ut urna lobortis fermentum. Maecenas a orci odio. Aenean turpis enim, tincidunt nec mi non, dapibus iaculis diam. Vivamus eleifend velit id nulla eleifend gravida.</p>
<p>Sed rutrum dui non dui rhoncus tristique. Nulla in enim est. Sed sollicitudin pharetra risus ut vestibulum. Sed sed cursus magna, non imperdiet turpis. Praesent gravida lacinia congue. In non neque sed nulla fermentum eleifend gravida ac sem. In eget molestie velit. Suspendisse bibendum nec eros id dapibus. Quisque sagittis a ante in mollis.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur ut libero in est dictum rutrum eu in nibh. Etiam tincidunt neque ante, eu efficitur velit semper sed. Ut lobortis et felis vitae aliquet. Nulla tincidunt leo vitae elit posuere, eu fermentum metus dictum. Praesent tincidunt egestas massa. Cras iaculis aliquam malesuada. Pellentesque at turpis diam. Vestibulum turpis augue, pulvinar et augue quis, venenatis dapibus dui. Nunc sollicitudin porta mauris, vel gravida erat placerat a.</p>
<p>Vivamus facilisis orci nec leo ultrices tristique. Donec euismod tincidunt luctus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer congue mattis convallis. Curabitur in dictum nisi, lacinia porta lectus.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque commodo imperdiet scelerisque. Mauris vitae erat ut enim imperdiet pulvinar a vitae augue. Pellentesque non sem ipsum. Nam id quam metus. Aliquam nulla ipsum, ullamcorper vel est vitae, euismod feugiat massa. Nullam molestie, odio sollicitudin egestas laoreet, elit tortor pharetra arcu, consectetur dignissim quam libero in augue. Suspendisse augue diam, condimentum nec sagittis ac, rutrum sit amet orci. Nulla facilisi. Cras finibus lorem diam. In non tortor ut urna lobortis fermentum. Maecenas a orci odio. Aenean turpis enim, tincidunt nec mi non, dapibus iaculis diam. Vivamus eleifend velit id nulla eleifend gravida.</p>
<p>Sed rutrum dui non dui rhoncus tristique. Nulla in enim est. Sed sollicitudin pharetra risus ut vestibulum. Sed sed cursus magna, non imperdiet turpis. Praesent gravida lacinia congue. In non neque sed nulla fermentum eleifend gravida ac sem. In eget molestie velit. Suspendisse bibendum nec eros id dapibus. Quisque sagittis a ante in mollis.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur ut libero in est dictum rutrum eu in nibh. Etiam tincidunt neque ante, eu efficitur velit semper sed. Ut lobortis et felis vitae aliquet. Nulla tincidunt leo vitae elit posuere, eu fermentum metus dictum. Praesent tincidunt egestas massa. Cras iaculis aliquam malesuada. Pellentesque at turpis diam. Vestibulum turpis augue, pulvinar et augue quis, venenatis dapibus dui. Nunc sollicitudin porta mauris, vel gravida erat placerat a.</p>
<p>Vivamus facilisis orci nec leo ultrices tristique. Donec euismod tincidunt luctus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer congue mattis convallis. Curabitur in dictum nisi, lacinia porta lectus.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque commodo imperdiet scelerisque. Mauris vitae erat ut enim imperdiet pulvinar a vitae augue. Pellentesque non sem ipsum. Nam id quam metus. Aliquam nulla ipsum, ullamcorper vel est vitae, euismod feugiat massa. Nullam molestie, odio sollicitudin egestas laoreet, elit tortor pharetra arcu, consectetur dignissim quam libero in augue. Suspendisse augue diam, condimentum nec sagittis ac, rutrum sit amet orci. Nulla facilisi. Cras finibus lorem diam. In non tortor ut urna lobortis fermentum. Maecenas a orci odio. Aenean turpis enim, tincidunt nec mi non, dapibus iaculis diam. Vivamus eleifend velit id nulla eleifend gravida.</p>
<p>Sed rutrum dui non dui rhoncus tristique. Nulla in enim est. Sed sollicitudin pharetra risus ut vestibulum. Sed sed cursus magna, non imperdiet turpis. Praesent gravida lacinia congue. In non neque sed nulla fermentum eleifend gravida ac sem. In eget molestie velit. Suspendisse bibendum nec eros id dapibus. Quisque sagittis a ante in mollis.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur ut libero in est dictum rutrum eu in nibh. Etiam tincidunt neque ante, eu efficitur velit semper sed. Ut lobortis et felis vitae aliquet. Nulla tincidunt leo vitae elit posuere, eu fermentum metus dictum. Praesent tincidunt egestas massa. Cras iaculis aliquam malesuada. Pellentesque at turpis diam. Vestibulum turpis augue, pulvinar et augue quis, venenatis dapibus dui. Nunc sollicitudin porta mauris, vel gravida erat placerat a.</p>
<p>Vivamus facilisis orci nec leo ultrices tristique. Donec euismod tincidunt luctus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer congue mattis convallis. Curabitur in dictum nisi, lacinia porta lectus.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque commodo imperdiet scelerisque. Mauris vitae erat ut enim imperdiet pulvinar a vitae augue. Pellentesque non sem ipsum. Nam id quam metus. Aliquam nulla ipsum, ullamcorper vel est vitae, euismod feugiat massa. Nullam molestie, odio sollicitudin egestas laoreet, elit tortor pharetra arcu, consectetur dignissim quam libero in augue. Suspendisse augue diam, condimentum nec sagittis ac, rutrum sit amet orci. Nulla facilisi. Cras finibus lorem diam. In non tortor ut urna lobortis fermentum. Maecenas a orci odio. Aenean turpis enim, tincidunt nec mi non, dapibus iaculis diam. Vivamus eleifend velit id nulla eleifend gravida.</p>
<p>Sed rutrum dui non dui rhoncus tristique. Nulla in enim est. Sed sollicitudin pharetra risus ut vestibulum. Sed sed cursus magna, non imperdiet turpis. Praesent gravida lacinia congue. In non neque sed nulla fermentum eleifend gravida ac sem. In eget molestie velit. Suspendisse bibendum nec eros id dapibus. Quisque sagittis a ante in mollis.</p>
<footer>Bottom Fixed Footer</footer>
</body>
</html>
What I am trying to achieve is that if viewport goes below 300px in height the distance between the Top Menu and the Footer is always 500px.
But if viewport goes beyond 500px in height, the Top Menu and Footer stay fixed at the top and the bottom and the space between them increases as long as the viewport keeps increasing.
How I can achieve this?
The content flow when scrolling if anyone wonders.
**** UPDATED ****
I end up using #media for that specific height I did not want the footer to be fixed when viewport was below 500 px height.
Originally I had this
nav, footer {
position:fixed;
background:#900;
height:50px;
width:100%;
}
I just added this add media when the viewport goes below 500px height.
#media screen and (max-height: 499px) {
footer {
position:relative;
}
}
I also added this inside the HEAD element to make the #media work.
<meta name="viewport" content="width=device-width, initial-scale=1.0">
If the viewport is <500px, limit the displayed area to the height minus the header, while keeping the footer at the bottom. If it is >500px, also keep the footer at the bottom.
This should work:
function addmore() {
for (var i = 0; i < 60; i++)
document.getElementById('a').innerHTML = '<p>'+i+': some page content</p>' + document.getElementById('a').innerHTML;
}
html,
body {
height: 100%;
width: 100%;
margin: 0;
}
body {
overflow-y: hidden;
min-height: 500px;
display: flex;
flex-direction: column;
}
nav,
footer {
flex: 0;
background: red;
line-height: 50px;
color: white;
width: 100%;
}
main {
flex: 1;
position: relative;
overflow-y: auto;
max-height: calc(100% - 100px);
}
#media screen and (max-height: 499px) {
.content {
max-height: calc(100vh - 50px);
width: 100%;
overflow-y: auto;
}
}
<body>
<nav>nav bar</nav>
<main>
<section class="content">
<button onclick="addmore()">add more</button>
<p id="a">some page content</p>
</section>
</main>
<footer>footer</footer>
</body>
I'm new to JavaScript and jQuery. I have this accordion html / js which works great but it's for mobile and I need to make it so when title is clicked, it will scroll down to the top of that clicked element / content. I assume I need to wrap it with an ID and use JS to wrap it in an anchor linking to that ID, but I am not sure how.
Codepen: http://codepen.io/anon/pen/QNdGGL
var accordionContent = $('.accordion p');
$('.accordion h6').click(function() {
// Check if current accordion item is open
var isOpen = $(this).next().is(":visible");
// Hide all accordion items
accordionContent.hide();
// Open accordion item if previously closed
if (!isOpen) {
$(this).nextUntil('h6').show();
}
});
$('.accordion h6').first().trigger('click');
.accordion h6 {
display: block;
cursor: pointer;
background: black;
padding: 10px;
color: #fff;
}
.accordion p {
display: none;
margin: 0;
padding: 0 0 1em;
}
.accordion * {
display: none
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="accordion">
<h6>heading 1</h6>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque pretium leo sed erat dapibus, eget sollicitudin risus maximus. Maecenas id arcu in diam fermentum dictum vel id ligula. Nullam purus augue, aliquam pulvinar sodales cursus, luctus
vel arcu. Nunc vestibulum volutpat leo in viverra. Maecenas ullamcorper, erat vitae tempus semper, nibh urna feugiat ipsum, vitae vulputate tortor nibh in neque. Maecenas et pretium enim, non rhoncus nisi. Nam convallis, nisi vitae consectetur convallis,
lorem nunc efficitur lacus, eu feugiat ex elit quis urna. Nullam ut urna venenatis, iaculis mauris eu, porta est. Etiam vestibulum dictum mi at aliquam. Cras id euismod quam. Maecenas a egestas nunc. Praesent ullamcorper ipsum metus, ut blandit est
consequat id. Aliquam turpis eros, condimentum ac magna ut, sollicitudin interdum odio. Pellentesque nec cursus ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin risus risus, imperdiet ut dignissim
vitae, vestibulum aliquam augue. Proin tristique ipsum faucibus convallis semper. Ut tempus felis ante, in posuere augue malesuada sed. Maecenas feugiat velit sit amet ultricies ornare. Ut feugiat nec erat elementum commodo. Pellentesque habitant
morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus eleifend mauris sit amet ipsum sollicitudin, a efficitur urna malesuada. Ut venenatis rutrum leo, a condimentum augue pulvinar non. Nunc vitae elementum neque, eu ullamcorper
nisl. Curabitur eu aliquet augue. Fusce id maximus magna. Phasellus ac porttitor metus. Suspendisse dapibus nunc vitae diam pellentesque iaculis. Curabitur mattis rutrum massa, vitae interdum est sollicitudin vitae. Donec gravida felis a est condimentum,
quis ultricies magna maximus. Aenean convallis ligula a dolor hendrerit, quis imperdiet leo accumsan. Morbi id blandit justo, sit amet viverra augue. Fusce urna mi, ullamcorper quis ultricies congue, maximus ut ante. Aliquam enim purus, tempor non
semper sit amet, porta at urna. Donec venenatis, metus a aliquam tincidunt, mauris felis molestie dolor, sed elementum sapien tortor a purus.</p>
<h6>heading 2</h6>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque pretium leo sed erat dapibus, eget sollicitudin risus maximus. Maecenas id arcu in diam fermentum dictum vel id ligula. Nullam purus augue, aliquam pulvinar sodales cursus, luctus
vel arcu. Nunc vestibulum volutpat leo in viverra. Maecenas ullamcorper, erat vitae tempus semper, nibh urna feugiat ipsum, vitae vulputate tortor nibh in neque. Maecenas et pretium enim, non rhoncus nisi. Nam convallis, nisi vitae consectetur convallis,
lorem nunc efficitur lacus, eu feugiat ex elit quis urna. Nullam ut urna venenatis, iaculis mauris eu, porta est. Etiam vestibulum dictum mi at aliquam. Cras id euismod quam. Maecenas a egestas nunc. Praesent ullamcorper ipsum metus, ut blandit est
consequat id. Aliquam turpis eros, condimentum ac magna ut, sollicitudin interdum odio. Pellentesque nec cursus ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin risus risus, imperdiet ut dignissim
vitae, vestibulum aliquam augue. Proin tristique ipsum faucibus convallis semper. Ut tempus felis ante, in posuere augue malesuada sed. Maecenas feugiat velit sit amet ultricies ornare. Ut feugiat nec erat elementum commodo. Pellentesque habitant
morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus eleifend mauris sit amet ipsum sollicitudin, a efficitur urna malesuada. Ut venenatis rutrum leo, a condimentum augue pulvinar non. Nunc vitae elementum neque, eu ullamcorper
nisl. Curabitur eu aliquet augue. Fusce id maximus magna. Phasellus ac porttitor metus. Suspendisse dapibus nunc vitae diam pellentesque iaculis. Curabitur mattis rutrum massa, vitae interdum est sollicitudin vitae. Donec gravida felis a est condimentum,
quis ultricies magna maximus. Aenean convallis ligula a dolor hendrerit, quis imperdiet leo accumsan. Morbi id blandit justo, sit amet viverra augue. Fusce urna mi, ullamcorper quis ultricies congue, maximus ut ante. Aliquam enim purus, tempor non
semper sit amet, porta at urna. Donec venenatis, metus a aliquam tincidunt, mauris felis molestie dolor, sed elementum sapien tortor a purus.</p>
<h6>heading 3</h6>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque pretium leo sed erat dapibus, eget sollicitudin risus maximus. Maecenas id arcu in diam fermentum dictum vel id ligula. Nullam purus augue, aliquam pulvinar sodales cursus, luctus
vel arcu. Nunc vestibulum volutpat leo in viverra. Maecenas ullamcorper, erat vitae tempus semper, nibh urna feugiat ipsum, vitae vulputate tortor nibh in neque. Maecenas et pretium enim, non rhoncus nisi. Nam convallis, nisi vitae consectetur convallis,
lorem nunc efficitur lacus, eu feugiat ex elit quis urna. Nullam ut urna venenatis, iaculis mauris eu, porta est. Etiam vestibulum dictum mi at aliquam. Cras id euismod quam. Maecenas a egestas nunc. Praesent ullamcorper ipsum metus, ut blandit est
consequat id. Aliquam turpis eros, condimentum ac magna ut, sollicitudin interdum odio. Pellentesque nec cursus ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin risus risus, imperdiet ut dignissim
vitae, vestibulum aliquam augue. Proin tristique ipsum faucibus convallis semper. Ut tempus felis ante, in posuere augue malesuada sed. Maecenas feugiat velit sit amet ultricies ornare. Ut feugiat nec erat elementum commodo. Pellentesque habitant
morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus eleifend mauris sit amet ipsum sollicitudin, a efficitur urna malesuada. Ut venenatis rutrum leo, a condimentum augue pulvinar non. Nunc vitae elementum neque, eu ullamcorper
nisl. Curabitur eu aliquet augue. Fusce id maximus magna. Phasellus ac porttitor metus. Suspendisse dapibus nunc vitae diam pellentesque iaculis. Curabitur mattis rutrum massa, vitae interdum est sollicitudin vitae. Donec gravida felis a est condimentum,
quis ultricies magna maximus. Aenean convallis ligula a dolor hendrerit, quis imperdiet leo accumsan. Morbi id blandit justo, sit amet viverra augue. Fusce urna mi, ullamcorper quis ultricies congue, maximus ut ante. Aliquam enim purus, tempor non
semper sit amet, porta at urna. Donec venenatis, metus a aliquam tincidunt, mauris felis molestie dolor, sed elementum sapien tortor a purus.</p>
</div>
use anchor tag instead of h6
<a href="#heading1" id="heading1">
heading 1
</a>
check out here:
http://codepen.io/prakash_kumar/pen/MyJbmy#0
If scroll animation is not needed, then remove the animate jquery code.
I worked it out myself and here was the solution:
var headers = $("#tab_description h6");
var accordionContent = $('#tab_description p, #tab_description ul, #tab_description iframe, #tab_description div');
$(headers).each(function(i) {
$(this).append('');
});
$('#tab_description h6').click(function() {
// Check if current accordion item is open
var isOpen = $(this).next().is(":visible");
// Hide all accordion items
accordionContent.hide();
// Open accordion item if previously closed
if (!isOpen) {
$(this).nextUntil('h6').show();
}
$('html, body').animate({
scrollTop: $(this).offset().top
}, 2000);
});
$('#tab_description h6').first().trigger('click');
I am trying to create a hidden div (a header) that slides down once the scroll readers a certain point. Very similar to this site.
I trying to inspect it to see how they did it, but I can't figure it out. I am not sure if they use pure CSS transitions or script. Many .js and javascripts do the opposite and have a div slide up/hide, but that isn't want I want.
I know that I have to build out two headers, one visible and one hidden. I am lost as to how to make the hidden header visible when I scroll down to 200px for example.
The HTML:
<div id="logo">
</div><!-- end logo --!>
<header>
<nav class="mainnav" role="navigation">
link
link
link
link
</nav>
<ul class="socialhead">
<li>fb</li>
<li>fb</li>
<li>fb</li>
</ul>
</header>
</div><!-- end header home --!>
<div class="header_homehidden">
<div id="logo">
</div><!-- end logo --!>
<header>
<nav class="mainnav" role="navigation">
link
link
link
link
</nav>
<ul class="socialhead">
<li>fb</li>
<li>fb</li>
<li>fb</li>
</ul>
</header>
</div><!-- end header homehidden --!>
The CSS:
.header_homehidden {
webkit-transform: translateY(-90px);
-moz-transform: translateY(-90px);
transform: translateY(-90px);
}
.header_home {
position: absolute;
z-index: 999;
color: #fff;
width: 100%;
background-color: transparent;
}
.header {
position: fixed;
top: 0px;
width: 100%;
background: white;
padding-top: 20px;
z-index: 999;
color: #000;
}
</style>
Any help is much appreciated.
HTML:
<body>
<div>
<div class="header"></div>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras rhoncus ultricies convallis. Vivamus ornare diam sit amet nisl condimentum egestas. In mi nisi, molestie vel libero nec, facilisis egestas nulla. Integer condimentum nibh vitae rutrum consectetur. Vestibulum luctus sodales risus a elementum. Suspendisse porta felis vel urna rutrum mollis. In eleifend pharetra scelerisque. Praesent pellentesque molestie eleifend. Nulla magna nibh, vehicula vitae consectetur sed, eleifend id nisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus nec leo id magna vulputate tristique. Fusce nec neque metus. Etiam euismod, mi ac sagittis ultrices, nisl arcu ullamcorper neque, nec blandit mauris lorem non tellus. Vivamus tincidunt orci sem, facilisis dapibus velit luctus vulputate. Fusce sed nibh velit. Nullam lacinia eget felis et interdum. Ut facilisis non turpis quis dapibus. Aliquam iaculis in magna in pulvinar. Maecenas tempor tristique augue ut elementum. Nullam commodo urna a faucibus vulputate. Nam sodales nulla ac nisl iaculis laoreet. Proin turpis justo, sagittis vitae arcu et, elementum scelerisque risus. Duis vitae nunc faucibus, adipiscing metus nec, malesuada felis. Morbi ut auctor sapien. Morbi pharetra laoreet urna nec mattis. Nullam facilisis venenatis nunc, ut adipiscing sapien accumsan quis. Sed pellentesque tincidunt sapien, in consequat libero convallis sit amet. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Quisque imperdiet sem orci, vel venenatis purus suscipit a. Ut facilisis nunc elit, quis rhoncus nunc egestas a. Ut vitae dictum massa. Curabitur nec posuere arcu. Aliquam erat volutpat. Mauris non tortor in est commodo commodo nec eget purus. Mauris enim lorem, lacinia sollicitudin libero vel, consectetur congue diam. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nulla facilisi. In pharetra fringilla velit at volutpat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras rhoncus ultricies convallis. Vivamus ornare diam sit amet nisl condimentum egestas. In mi nisi, molestie vel libero nec, facilisis egestas nulla. Integer condimentum nibh vitae rutrum consectetur. Vestibulum luctus sodales risus a elementum. Suspendisse porta felis vel urna rutrum mollis. In eleifend pharetra scelerisque. Praesent pellentesque molestie eleifend. Nulla magna nibh, vehicula vitae consectetur sed, eleifend id nisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus nec leo id magna vulputate tristique. Fusce nec neque metus. Etiam euismod, mi ac sagittis ultrices, nisl arcu ullamcorper neque, nec blandit mauris lorem non tellus. Vivamus tincidunt orci sem, facilisis dapibus velit luctus vulputate. Fusce sed nibh velit. Nullam lacinia eget felis et interdum. Ut facilisis non turpis quis dapibus. Aliquam iaculis in magna in pulvinar. Maecenas tempor tristique augue ut elementum. Nullam commodo urna a faucibus vulputate. Nam sodales nulla ac nisl iaculis laoreet. Proin turpis justo, sagittis vitae arcu et, elementum scelerisque risus. Duis vitae nunc faucibus, adipiscing metus nec, malesuada felis. Morbi ut auctor sapien. Morbi pharetra laoreet urna nec mattis. Nullam facilisis venenatis nunc, ut adipiscing sapien accumsan quis. Sed pellentesque tincidunt sapien, in consequat libero convallis sit amet. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Quisque imperdiet sem orci, vel venenatis purus suscipit a. Ut facilisis nunc elit, quis rhoncus nunc egestas a. Ut vitae dictum massa. Curabitur nec posuere arcu. Aliquam erat volutpat. Mauris non tortor in est commodo commodo nec eget purus. Mauris enim lorem, lacinia sollicitudin libero vel, consectetur congue diam. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nulla facilisi. In pharetra fringilla velit at volutpat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras rhoncus ultricies convallis. Vivamus ornare diam sit amet nisl condimentum egestas. In mi nisi, molestie vel libero nec, facilisis egestas nulla. Integer condimentum nibh vitae rutrum consectetur. Vestibulum luctus sodales risus a elementum. Suspendisse porta felis vel urna rutrum mollis. In eleifend pharetra scelerisque. Praesent pellentesque molestie eleifend. Nulla magna nibh, vehicula vitae consectetur sed, eleifend id nisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus nec leo id magna vulputate tristique. Fusce nec neque metus. Etiam euismod, mi ac sagittis ultrices, nisl arcu ullamcorper neque, nec blandit mauris lorem non tellus. Vivamus tincidunt orci sem, facilisis dapibus velit luctus vulputate. Fusce sed nibh velit. Nullam lacinia eget felis et interdum. Ut facilisis non turpis quis dapibus. Aliquam iaculis in magna in pulvinar. Maecenas tempor tristique augue ut elementum. Nullam commodo urna a faucibus vulputate. Nam sodales nulla ac nisl iaculis laoreet. Proin turpis justo, sagittis vitae arcu et, elementum scelerisque risus. Duis vitae nunc faucibus, adipiscing metus nec, malesuada felis. Morbi ut auctor sapien. Morbi pharetra laoreet urna nec mattis. Nullam facilisis venenatis nunc, ut adipiscing sapien accumsan quis. Sed pellentesque tincidunt sapien, in consequat libero convallis sit amet. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Quisque imperdiet sem orci, vel venenatis purus suscipit a. Ut facilisis nunc elit, quis rhoncus nunc egestas a. Ut vitae dictum massa. Curabitur nec posuere arcu. Aliquam erat volutpat. Mauris non tortor in est commodo commodo nec eget purus. Mauris enim lorem, lacinia sollicitudin libero vel, consectetur congue diam. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nulla facilisi. In pharetra fringilla velit at volutpat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras rhoncus ultricies convallis. Vivamus ornare diam sit amet nisl condimentum egestas. In mi nisi, molestie vel libero nec, facilisis egestas nulla. Integer condimentum nibh vitae rutrum consectetur. Vestibulum luctus sodales risus a elementum. Suspendisse porta felis vel urna rutrum mollis. In eleifend pharetra scelerisque. Praesent pellentesque molestie eleifend. Nulla magna nibh, vehicula vitae consectetur sed, eleifend id nisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus nec leo id magna vulputate tristique. Fusce nec neque metus. Etiam euismod, mi ac sagittis ultrices, nisl arcu ullamcorper neque, nec blandit mauris lorem non tellus. Vivamus tincidunt orci sem, facilisis dapibus velit luctus vulputate. Fusce sed nibh velit. Nullam lacinia eget felis et interdum. Ut facilisis non turpis quis dapibus. Aliquam iaculis in magna in pulvinar. Maecenas tempor tristique augue ut elementum. Nullam commodo urna a faucibus vulputate. Nam sodales nulla ac nisl iaculis laoreet. Proin turpis justo, sagittis vitae arcu et, elementum scelerisque risus. Duis vitae nunc faucibus, adipiscing metus nec, malesuada felis. Morbi ut auctor sapien. Morbi pharetra laoreet urna nec mattis. Nullam facilisis venenatis nunc, ut adipiscing sapien accumsan quis. Sed pellentesque tincidunt sapien, in consequat libero convallis sit amet. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Quisque imperdiet sem orci, vel venenatis purus suscipit a. Ut facilisis nunc elit, quis rhoncus nunc egestas a. Ut vitae dictum massa. Curabitur nec posuere arcu. Aliquam erat volutpat. Mauris non tortor in est commodo commodo nec eget purus. Mauris enim lorem, lacinia sollicitudin libero vel, consectetur congue diam. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nulla facilisi. In pharetra fringilla velit at volutpat.</div>
</div>
</body>
CSS:
body {
margin: 0px;
}
.header {
background: black;
width: 100%;
height: 50px;
position: fixed;
display: none;
}
Jquery:
$(window).scroll(function () {
if ($(window).scrollTop() > 100) {
$(".header").slideDown();
}
if ($(window).scrollTop() < 100) {
$(".header").slideUp();
}
});
Fiddle:
http://jsfiddle.net/mzz2J/
Try this code:
$(function() {
var bar = $('#headerSlideContainer');
var top = bar.css('top');
$(window).scroll(function() {
if($(this).scrollTop() > 50) {
bar.stop().animate({'top' : '0px'}, 500);
} else {
bar.stop().animate({'top' : top}, 500);
}
});
});
Working Example
Source: http://return-true.com/2010/04/scroll-activated-slide-down-header-with-jquery/