Hello everyone,
I created a responsive design for a website, designed for desktopm mobile vertical, and mobile horizontal.
-
I have a problem with the horizontal version.
I cant set the navbar to bo fixed at the top while the content is scrolled up.
I tried position fixes and position sticky.
Both of them won’t work. the navbar scrolls up with all the page. -
Itried to define the navbar as 15% of screen height,
The balance and counter divs - together in one screen with navbar on top
All other divs 86% of screen height with navbar on top.
It wont work,
What did I miss
Here is the code :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style type="text/css">
:root{
--balance-radius:5px;
--balance-padding:5px;
}
.container{
display: grid;
height:100vh;
grid-template-columns: 1.3fr 11fr 5fr;
grid-template-rows: 0.2fr 1fr 1fr 1fr 1fr 0.8fr;
grid-template-areas:
"nav nav nav"
"sidebar balance summary"
"sidebar counter summary"
"sidebar line summary"
"sidebar closed summary"
"footer footer footer";
grid-gap: 0.2rem;
font-family: arial, sans-serif;
font-weight: 800;
text-transform:uppercase;
font-size: 12px;
color: ##004d40;
text-align: center;
}
nav{
background: #a7ffeb;
grid-area: nav;
border-radius:var(--balance-radius);
padding-top:var(--balance-padding);
}
#balance{
background: #84ffff;
grid-area: balance;
border-radius:var(--balance-radius);
padding-top:var(--balance-padding);
}
#sidebar{
background: #18ffff;
grid-area: sidebar;
border-radius:var(--balance-radius);
padding-top:var(--balance-padding);
}
#counter{
background: #6fffd2;
grid-area: counter;
border-radius:var(--balance-radius);
padding-top:var(--balance-padding);
}
#closed{
background: #6fffd2;
grid-area: closed;
border-radius:var(--balance-radius);
padding-top:var(--balance-padding);
}
#summary{
background: #64ffda;
grid-area: summary;
border-radius:var(--balance-radius);
padding-top:var(--balance-padding);
}
#line{
background: #73ffba;
grid-area: line;
border-radius:var(--balance-radius);
padding-top:var(--balance-padding);
}
footer{
background: #1de9b6;
grid-area: footer;
border-radius:var(--balance-radius);
padding-top:var(--balance-padding);
}
@media only screen and (max-width: 550px){
.container{
grid-template-columns: 1fr;
grid-template-rows: 0.4fr 1.2fr 1.2fr 1.2fr 1.2fr 1.2fr 1fr;
grid-template-areas:
"nav"
"balance"
"counter"
"line"
"closed"
"summary"
"footer";
}
#sidebar{
display:none;
}
}
@media screen and (max-height: 450px) and (max-width:870px) {
.container{
height:630vh;
grid-template-columns: 1fr;
grid-template-rows: 0.4fr 4.5fr 4.5fr 9fr 9fr 9fr 9fr;
grid-template-areas:
"nav"
"balance"
"counter"
"line"
"closed"
"summary"
"footer";
}
#sidebar{
display:none;
nav{
height:14vh;
background: #a7ffeb;
grid-area: nav;
position: fixed;
top: 0;
border-radius:var(--balance-radius);
padding-top:var(--balance-padding);
}
#balance{
height:43vh;
background: #84ffff;
grid-area: balance;
border-radius:var(--balance-radius);
padding-top:var(--balance-padding);
}
#counter{
height:43vh;
background: #6fffd2;
grid-area: counter;
border-radius:var(--balance-radius);
padding-top:var(--balance-padding);
}
#closed{
height:96vh;
background: #6fffd2;
grid-area: closed;
border-radius:var(--balance-radius);
padding-top:var(--balance-padding);
}
#summary{
height:96vh;
background: #64ffda;
grid-area: summary;
border-radius:var(--balance-radius);
padding-top:var(--balance-padding);
}
#line{
height:96vh;
background: #73ffba;
grid-area: line;
border-radius:var(--balance-radius);
padding-top:var(--balance-padding);
}
footer{
height:96vh;
background: #1de9b6;
grid-area: footer;
border-radius:var(--balance-radius);
padding-top:var(--balance-padding);
}
}
</style>
<title>Document</title>
</head>
<body>
<div id="" class="container">
<nav>NAVBAR</nav>
<div id="sidebar" class="">SIDEBAR</div>
<div id="balance">balance</div>
<div id="counter" class="">counter</div>
<div id="line" class="">line</div>
<div id="closed" class="">closed</div>
<div id="summary" class="">summary</div>
<footer>FOOTER</footer>
</div>
</body>
</html>