navbar

by kordarei

HTML

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.8.2/css/all.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.5/css/bulma.min.css">
<html>

  <head>
    <meta charset="UTF-8">
    <title>Document</title>
  </head>

  <body>
    <div id="app">
      <nav-bar></nav-bar>
    </div>
  </body>

</html>

<template id="navbar">
  <div class="navbar-wrapper">
    <div class="navbar-item">
    <i class="fas fa-bars"></i>
    Proizvodi
    <div class="category-menu">
      <div class="category-item">
        <span>Kategorija 1</span>
        <i class="fas fa-chevron-right"></i>
        <div class="subcategory-menu">
          <div class="subcategory-item">
            <span>Podkategorija 1-1</span>
          </div>
          <div class="subcategory-item">
            <span>Podkategorija 1-2</span>
          </div>
          <div class="subcategory-item">
            <span>Podkategorija 1-3</span>
          </div>
          <div class="subcategory-item">
            <span>Podkategorija 1-4</span>
          </div>
          <div class="subcategory-item">
            <span>Podkategorija 1-5</span>
          </div>
          <div class="subcategory-item">
            <span>Podkategorija 1-6</span>
          </div>
        </div>
      </div>
      <div class="category-item">
        <span>Kategorija 2</span>
        <i class="fas fa-chevron-right"></i>
      </div>
      <div class="category-item">
        <span>Kategorija 3</span>
        <i class="fas fa-chevron-right"></i>
      </div>
    </div>
    </div>
    <div class="navbar-item">
    Akcije
    </div>
    <div class="navbar-item">
    O nama
    </div>
  </div>
</template>

SCSS

@import url('https://fonts.googleapis.com/css?family=Raleway&display=swap');
.navbar-wrapper {
  font-family: 'Raleway', sans-serif;
  display: flex;
  height: 40px;
  width: 100%;
  --main-width: 100%;
  position: relative;
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
  .navbar-item {
    padding: 10px 20px;
    cursor: pointer;
    .fas {
      margin-right: 10px;
    }
    .category-menu {
      top: 39px;
      left: 0;
      position: absolute;
      border: 1px solid rgba(0, 0, 0, 0.5);
      .category-item {
        padding: 5px 10px;
        width: calc(var(--main-width) / 3);
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-bottom: 1px solid rgba(0, 0, 0, 0.2);
        &:last-child {
          border-bottom: none;  
        }
        .subcategory-menu {
          position: absolute;
          top: -1px;
          left: 12px;
          left: 190px;
          width: 75vw;
          border: 1px solid rgba(0, 0, 0, 0.5);
          .subcategory-item {
            padding: 5px 10px;
            width: 75vw;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-bottom: 1px solid rgba(0, 0, 0, 0.2);
            &:last-child {
              border-bottom: none;  
            }  
          }
        }
      } 
    }
  }
}

Vue

const navbar = Vue.component('NavBar', {
  template: "#navbar"
})

new Vue({
  el: "#app",
  components: {
    navbar
  },
  data() {
    return {}
  }
})