Skip to content

Commit 189afb0

Browse files
authored
Merge pull request #5 from CarlosJorgeR/feature/createColumnarNavbar
Feature/create columnar navbar
2 parents 489da2d + c20206b commit 189afb0

File tree

6 files changed

+165
-37
lines changed

6 files changed

+165
-37
lines changed

css/navbar.css

Lines changed: 83 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,98 @@
1+
.navbar-uncompressed {
2+
position: fixed;
3+
top: 0;
4+
width: 100%;
5+
z-index: 9999;
6+
background-color: rgba(9, 3, 15, 0.9);
7+
}
8+
19
.navbar {
2-
padding: 0.5em;
3-
display: flex;
4-
flex-direction: row;
5-
justify-content: space-between;
6-
margin: 0;
10+
padding: 0.5em;
11+
display: flex;
12+
flex-direction: row;
13+
justify-content: space-between;
14+
margin: 0;
715
}
816

917
#home {
10-
padding: 1em;
11-
align-self: center;
18+
padding: 1em;
19+
align-self: center;
1220
}
1321

1422
.nav-link {
15-
padding: 1em;
16-
color: var(--default-font-color);
17-
text-decoration: none;
18-
/* background-image:none; */
19-
transition: all 0.5s ease-in-out;
20-
23+
padding: 1em;
24+
color: var(--default-font-color);
25+
text-decoration: none;
26+
transition: all 0.5s ease-in-out;
2127
}
2228

2329
.nav-link:hover {
24-
background-color: rgb(36, 28, 45);
25-
color: var(--default-secundary-font-color) !important
30+
background-color: rgb(36, 28, 45);
31+
color: var(--default-secundary-font-color) !important;
2632
}
2733

2834
.nav-link:visited {
29-
color: var(--default-font-color);
30-
text-decoration: none;
31-
background-image: none;
35+
color: var(--default-font-color);
36+
text-decoration: none;
37+
background-image: none;
3238
}
3339

34-
.navbar>li {
35-
align-self: center;
36-
}
40+
.navbar > li {
41+
align-self: center;
42+
}
43+
44+
.navbar-compressed {
45+
display: none;
46+
position: fixed;
47+
top: 0;
48+
width: 100%;
49+
z-index: 2;
50+
background-color: rgb(38, 26, 50);
51+
}
52+
53+
.nav-header-menu {
54+
position: absolute;
55+
padding: 1em;
56+
z-index: 2;
57+
width: 100%;
58+
background-color: rgb(38, 26, 50);
59+
}
60+
61+
#nav-columnar-menu {
62+
position: absolute;
63+
padding: 0em;
64+
margin-top: 0;
65+
background-color: rgb(38, 26, 50);
66+
width: 60%;
67+
z-index: 3;
68+
left: -100vw;
69+
list-style-type: none;
70+
transition: all 0.3s ease-in;
71+
height: 100vh;
72+
73+
}
74+
75+
#nav-columnar-menu.active {
76+
transition: all 0.8s ease-in;
77+
width: 60%;
78+
left: 0;
79+
80+
height: 100vh;
81+
}
82+
83+
.nav-element {
84+
text-align: left;
85+
padding: 0.5em;
86+
transition: all 0.5s ease-in-out;
87+
}
88+
89+
.nav-element:hover {
90+
background-color: rgb(36, 28, 45);
91+
}
92+
93+
.nav-link.compressed {
94+
padding: 0;
95+
}
96+
.nav-link-label{
97+
padding-left: 2em;
98+
}

css/styles.css

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ body {
1313
margin: 0;
1414
}
1515

16-
/* elements */
16+
main {
17+
transition: all 0.8s ease-in;
18+
}
19+
1720
p {
1821
color: var(--default-font-color);
1922
font-family: var(--default-font-family);
@@ -25,9 +28,6 @@ p {
2528
h1,
2629
h2,
2730
h3 {
28-
/* for guide */
29-
/* border: solid 3px aqua; */
30-
3131
font-family: 'Raleway', sans-serif !important;
3232
}
3333

@@ -45,6 +45,11 @@ section {
4545

4646
}
4747

48+
.opacity-effect {
49+
filter: opacity(50%);
50+
-webkit-filter: opacity(50%) ;
51+
/* backdrop-filter: opacity(20%) grayscale(70%); */
52+
}
4853

4954

5055
article {
@@ -67,14 +72,6 @@ i {
6772
color: var(--default-secundary-font-color);
6873
}
6974

70-
nav {
71-
position: fixed;
72-
top: 0;
73-
width: 100%;
74-
z-index: 9999;
75-
background-color: rgba(9, 3, 15, 0.9);
76-
77-
}
7875

7976
/* || UTILITIES */
8077

@@ -103,7 +100,8 @@ nav {
103100
font-size: 2rem;
104101

105102
}
106-
.centered-article{
103+
104+
.centered-article {
107105
display: flex;
108106
flex-direction: column;
109107
justify-content: center;
@@ -232,6 +230,14 @@ nav {
232230
max-width: 85%;
233231
}
234232

233+
.navbar {
234+
display: none !important;
235+
}
236+
237+
.navbar-compressed {
238+
display: block !important;
239+
}
240+
235241
section,
236242
footer {
237243
width: 83%;
@@ -247,6 +253,14 @@ nav {
247253
font-size: 10px;
248254
}
249255

256+
.navbar {
257+
display: none !important;
258+
}
259+
260+
.navbar-compressed {
261+
display: block !important;
262+
}
263+
250264
p {
251265
max-width: 90%;
252266
}

images/demo.jpg

35.5 KB
Loading

images/demo2.jpg

34.8 KB
Loading

index.html

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141

4242
<body>
4343
<header>
44-
<nav>
44+
<nav class="navbar-uncompressed">
4545
<ul class="navbar">
4646
<li id="home"> <a href="#" class="icon-link"><i class="fa fa-house fa-lg"></i></a></li>
4747
<li>
@@ -51,7 +51,28 @@
5151
</li>
5252
</ul>
5353
</nav>
54+
<nav class="navbar-compressed">
55+
<div class="nav-header-menu">
56+
<a class="icon-link" id="show-nav-columnar-menu"><i class="fa fa-bars fa-xl"></i></a>
57+
</div>
58+
<ul id="nav-columnar-menu">
59+
<li class="nav-element">
60+
<a class="nav-link compressed" href="#"><h1 class="nav-link-label">Home</h1></a>
61+
</li>
62+
<li class="nav-element">
63+
<a class="nav-link compressed" href="#aboutMe"><h1 class="nav-link-label">About me</h1></a>
64+
</li>
65+
<li class="nav-element">
66+
<a class="nav-link compressed" href="#work"><h1 class="nav-link-label">Work</h1></a>
67+
</li>
68+
<li class="nav-element">
69+
<a class="nav-link compressed" href="#contact"><h1 class="nav-link-label">Contact</h1></a>
70+
</li>
71+
72+
</ul>
73+
</nav>
5474
</header>
75+
<main>
5576
<section>
5677
<div class="presentation centered-article">
5778
<h1 id="presentation-title">Hi, I am <br class='br-show'>Carlos Jorge!</h1>
@@ -135,8 +156,8 @@ <h1 class="subtitle contacts-item">Contact</h1>
135156
</p>
136157
</div>
137158
</div>
138-
139159
</footer>
160+
</main>
140161
</body>
141162

142163
</html>

index.js

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,35 @@ function reveal() {
1313
}
1414
})
1515
}
16-
window.addEventListener("scroll", reveal)
16+
window.addEventListener("scroll", reveal);
17+
18+
function activeNav(element){
19+
const navColumnarMenu = document.getElementById('nav-columnar-menu');
20+
if (navColumnarMenu.classList.contains('active')) {
21+
navColumnarMenu.classList.remove("active");
22+
document.getElementsByTagName("main")[0].classList.remove('opacity-effect')
23+
document.getElementsByClassName("nav-header-menu")[0].classList.remove('opacity-effect')
24+
}
25+
else if(element.id==='show-nav-columnar-menu'){
26+
navColumnarMenu.classList.add("active");
27+
document.getElementsByTagName("main")[0].classList.add('opacity-effect')
28+
document.getElementsByClassName("nav-header-menu")[0].classList.add('opacity-effect')
29+
// document.getElementsByClassName("nav-header-menu")[0].
30+
}
31+
32+
}
33+
document.addEventListener("DOMContentLoaded", function (event) {
34+
[...document.getElementsByTagName("a")].forEach(
35+
function (element) {
36+
element.addEventListener('click', ()=>activeNav(element))
37+
}
38+
)
39+
document.addEventListener('touchstart', (ev) => {
40+
if(ev.path.some(element=>(element.tagName==='MAIN'||element.classList?.contains('nav-header-menu')))){
41+
const navColumnarMenu = document.getElementById("nav-columnar-menu");
42+
navColumnarMenu.classList.remove("active");
43+
document.getElementsByTagName("main")[0].classList.remove('opacity-effect')
44+
document.getElementsByClassName("nav-header-menu")[0].classList.remove('opacity-effect')
45+
}
46+
}, false);
47+
})

0 commit comments

Comments
 (0)