Modified navigation on website
This commit is contained in:
parent
32445d7f25
commit
46eef08eb4
@ -1,20 +1,26 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="container">
|
<div class="container" :class="{'container-menu-active': clicked}">
|
||||||
<router-link to="/">
|
<router-link to="/">
|
||||||
<div class="logo">Kamil<span class="logo-element">Craft</span></div>
|
<div class="logo">Kamil<span class="logo-element">Craft</span></div>
|
||||||
</router-link>
|
</router-link>
|
||||||
<nav class="nav">
|
<nav class="nav">
|
||||||
|
<button class="nav-btn" @click="clickMenu">
|
||||||
|
<transition name="btn">
|
||||||
|
<font-awesome-icon v-if="!clicked" icon="bars"></font-awesome-icon>
|
||||||
|
<font-awesome-icon v-else icon="times"></font-awesome-icon>
|
||||||
|
</transition>
|
||||||
|
</button>
|
||||||
<ul class="site-menu">
|
<ul class="site-menu">
|
||||||
<li class="menu-element">
|
<li class="menu-element" @click="linkClicked">
|
||||||
<router-link to="/">Start</router-link>
|
<router-link to="/">Start</router-link>
|
||||||
</li>
|
</li>
|
||||||
<li class="menu-element">
|
<li class="menu-element" @click="linkClicked">
|
||||||
<router-link to="/projects">Projekty</router-link>
|
<router-link to="/projects">Projekty</router-link>
|
||||||
</li>
|
</li>
|
||||||
<li class="menu-element">
|
<li class="menu-element" @click="linkClicked">
|
||||||
<router-link to="/about">O mnie</router-link>
|
<router-link to="/about">O mnie</router-link>
|
||||||
</li>
|
</li>
|
||||||
<li class="menu-element">
|
<li class="menu-element" @click="linkClicked">
|
||||||
<router-link to="/contact">Kontakt</router-link>
|
<router-link to="/contact">Kontakt</router-link>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -23,6 +29,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
.btn-enter-active, .btn-leave-active {
|
||||||
|
transition: opacity .5s;
|
||||||
|
}
|
||||||
|
.btn-enter, .btn-leave-to {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
.container {
|
.container {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -40,9 +52,34 @@
|
|||||||
color: #A2CF00;
|
color: #A2CF00;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&-menu-active {
|
||||||
|
background-color: #EFEFEF;
|
||||||
|
color: #8D8D8D;
|
||||||
|
|
||||||
|
div.logo {
|
||||||
|
background-color: #F6F6F6;
|
||||||
|
}
|
||||||
|
.nav {
|
||||||
|
.nav-btn {
|
||||||
|
color: #8D8D8D;
|
||||||
|
}
|
||||||
|
.site-menu .menu-element a {
|
||||||
|
color: #8D8D8D;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.nav {
|
.nav {
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
|
.nav-btn {
|
||||||
|
display: none;
|
||||||
|
margin: 10px 25px;
|
||||||
|
font-size: 2em;
|
||||||
|
color: white;
|
||||||
|
background: transparent !important;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
.site-menu {
|
.site-menu {
|
||||||
display: flex;
|
display: flex;
|
||||||
list-style: none;
|
list-style: none;
|
||||||
@ -63,6 +100,36 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@media screen and (max-width: 600px) {
|
||||||
|
.nav-btn {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.site-menu {
|
||||||
|
display: none;
|
||||||
|
width: 100%;
|
||||||
|
position: absolute;
|
||||||
|
top: 80px;
|
||||||
|
left: 0;
|
||||||
|
background-color: white;
|
||||||
|
box-shadow: 0px 10px 10px rgba(0, 0, 0, .1);
|
||||||
|
|
||||||
|
.menu-element {
|
||||||
|
width: 100%;
|
||||||
|
padding: 5px 20px;
|
||||||
|
text-align: right;
|
||||||
|
font-size: 1.8em;
|
||||||
|
line-height: 2em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.menu-clicked {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 600px) {
|
||||||
|
.container {
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
@ -71,8 +138,34 @@ export default {
|
|||||||
name: 'SiteHeader',
|
name: 'SiteHeader',
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
clicked: false,
|
||||||
publicPath: process.env.BASE_URL
|
publicPath: process.env.BASE_URL
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
changeClickedStatus () {
|
||||||
|
this.clicked = !this.clicked
|
||||||
|
},
|
||||||
|
addMenuClicked () {
|
||||||
|
const siteMenu = document.querySelector('.site-menu')
|
||||||
|
siteMenu.classList.add('menu-clicked')
|
||||||
|
},
|
||||||
|
removeMenuClicked () {
|
||||||
|
const siteMenu = document.querySelector('.site-menu')
|
||||||
|
siteMenu.classList.remove('menu-clicked')
|
||||||
|
},
|
||||||
|
clickMenu () {
|
||||||
|
!this.clicked ? this.addMenuClicked() : this.removeMenuClicked()
|
||||||
|
this.changeClickedStatus()
|
||||||
|
},
|
||||||
|
linkClicked () {
|
||||||
|
/* safari has problem with variables */
|
||||||
|
var siteMenu = document.querySelector('.site-menu')
|
||||||
|
if (siteMenu.classList.contains('menu-clicked')) {
|
||||||
|
this.removeMenuClicked()
|
||||||
|
this.changeClickedStatus()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user