_navbar.scss 5.5 KB
Newer Older
C
tracks  
chomik 已提交
1
.navbar {
2 3 4 5
  border-bottom: 1px solid;

  background-color: $navbar-bg;
  border-color: $navbar-border-color;
C
chomik 已提交
6 7 8 9 10 11 12

  .nav-link {
    color: inherit;
    white-space: nowrap;
  }
}

C
tracks  
chomik 已提交
13 14
.navbar-nav {
  flex-direction: row;
C
codecalm 已提交
15
  margin-right: -($navbar-padding-x);
C
codecalm 已提交
16
  margin-left: -($navbar-padding-x);
C
chomik 已提交
17 18

  .nav-link {
C
codecalm 已提交
19
    display: flex;
C
chomik 已提交
20 21 22 23 24 25 26
    color: $text-muted;
    transition: .3s color;

    &:hover {
      color: $body-color;
    }
  }
C
tracks  
chomik 已提交
27

C
chomik 已提交
28 29 30 31
  .nav-item {
    position: relative;
  }

C
tracks  
chomik 已提交
32 33
  .navbar-nav {
    padding-right: .5rem;
C
codecalm 已提交
34
    padding-left: .5rem;
C
tracks  
chomik 已提交
35 36 37
  }
}

C
chomik 已提交
38
.navbar:not(.navbar-side) .navbar-subnav {
C
chomik 已提交
39 40 41 42
  position: absolute;
  top: 100%;
  left: 0;
  z-index: $zindex-tooltip;
C
codecalm 已提交
43 44 45
  width: 12rem;
  padding: .25rem;
  font-size: $h5-font-size;
C
chomik 已提交
46 47 48
  background: #fff;
  border: 1px solid $border-color;
  border-radius: 3px;
C
codecalm 已提交
49
  box-shadow: 0 .5rem 1rem rgba(18, 18, 18, .15);
C
chomik 已提交
50 51 52 53 54 55

  .nav {
    flex-direction: column;
  }
}

C
codecalm 已提交
56 57 58
/**
Navbar brand
 */
C
chomik 已提交
59
.navbar-brand {
C
chomik 已提交
60 61 62
  display: flex;
  align-items: center;
  justify-content: center;
C
chomik 已提交
63 64
  padding: 0;
  margin: 0;
C
chomik 已提交
65 66 67 68 69 70 71 72

  @at-root a#{&} {
    transition: .3s opacity;

    &:hover {
      opacity: .8;
    }
  }
C
chomik 已提交
73
}
C
chomik 已提交
74 75 76 77

.navbar-brand-logo {
  height: 2rem;
}
C
tracks  
chomik 已提交
78

C
chomik 已提交
79 80 81
/**
Navbar toggler
 */
C
codecalm 已提交
82
.navbar-toggler {
C
chomik 已提交
83 84 85 86
  padding: 0;
  border: 0;
}

C
tracks  
chomik 已提交
87 88 89 90
/*
Sidebar
 */
.navbar-side {
C
chomik 已提交
91
  flex-direction: column;
C
codecalm 已提交
92
  flex-wrap: nowrap;
C
chomik 已提交
93
  align-items: inherit;
94
  justify-content: start;
C
codecalm 已提交
95 96 97
  width: $sidenav-width;
  min-width: $sidenav-width;
  margin: 0;
C
codecalm 已提交
98
  overflow: auto;
C
codecalm 已提交
99 100 101 102
  pointer-events: inherit;
  user-select: none;
  background: $sidenav-bg;
  border-right: 1px solid $sidenav-border-color;
C
chomik 已提交
103 104 105 106

  .nav {
    flex-direction: column;
  }
C
tracks  
chomik 已提交
107 108 109 110

  .nav-link {
    display: flex;
    align-items: center;
C
codecalm 已提交
111 112
    height: 2.5rem;
    padding: 0 $navbar-padding-x;
C
codecalm 已提交
113
    color: $text-muted;
C
codecalm 已提交
114
    box-shadow: inset 2px 0 0 0 transparent;
C
tracks  
chomik 已提交
115 116
    transition: .3s background, .3s box-shadow;

C
codecalm 已提交
117
    &[aria-expanded="true"],
C
tracks  
chomik 已提交
118 119 120 121 122 123 124 125 126 127 128
    &:hover {
      background: rgba($link-color, .04);
      border-color: $primary;
      box-shadow: inset 2px 0 0 0 $primary;
    }

    > .icon {
      width: 2rem;
    }

    &[data-toggle="collapse"] {
C
codecalm 已提交
129
      &::after {
C
tracks  
chomik 已提交
130 131
        display: block;
        margin-left: auto;
C
codecalm 已提交
132 133
        font-family: $font-icons !important;
        content: "";
C
tracks  
chomik 已提交
134 135 136
        transition: transform .3s;
      }

C
codecalm 已提交
137
      &[aria-expanded="true"]::after {
C
tracks  
chomik 已提交
138 139 140 141 142
        transform: rotate(-180deg);
      }
    }
  }

C
codecalm 已提交
143
  &:not(.navbar-folded) {
C
codecalm 已提交
144
    &[data-toggle="collapse"][aria-expanded="true"] {
C
codecalm 已提交
145 146 147 148 149
      background: none;
      box-shadow: none;
    }
  }

150
  &:not(.hide-navbar-folded) {
C
codecalm 已提交
151 152 153 154 155 156 157 158 159 160 161
    //.nav-item .nav-item .nav-link {
    //  padding-left: 2.5rem;
    //}
    //
    //.nav-item .nav-item .nav-item .nav-link {
    //  padding-left: 3.5rem;
    //}
    //
    //.nav-item .nav-item .nav-item .nav-item .nav-link {
    //  padding-left: 4.5rem;
    //}
C
tracks  
chomik 已提交
162 163 164
  }

  .navbar-brand {
C
codecalm 已提交
165
    height: 2.5rem;
C
codecalm 已提交
166
    text-align: center;
C
tracks  
chomik 已提交
167 168 169
  }

  .navbar-heading {
C
codecalm 已提交
170
    @extend .subheader;
C
codecalm 已提交
171
    margin: 0 0 .5rem;
C
tracks  
chomik 已提交
172 173 174 175 176 177 178
  }

  .navbar-nav {
    flex-direction: column;
  }
}

C
codecalm 已提交
179 180 181
/*
Fixed navbar
 */
C
codecalm 已提交
182
.navbar-fixed {
C
codecalm 已提交
183
  position: fixed;
C
codecalm 已提交
184 185
  top: 0;
  bottom: 0;
C
codecalm 已提交
186
  z-index: $zindex-sticky;
C
codecalm 已提交
187

C
codecalm 已提交
188 189 190 191 192
  + .navbar-bg {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
C
codecalm 已提交
193
    left: 0;
C
codecalm 已提交
194 195
    z-index: $zindex-dropdown;
    display: none;
C
codecalm 已提交
196
    background: rgba($dark, .2);
C
codecalm 已提交
197
  }
C
codecalm 已提交
198 199

  &.navbar-side {
C
codecalm 已提交
200 201 202
    top: 0;
    bottom: 0;
    left: 0;
C
codecalm 已提交
203

C
codecalm 已提交
204 205 206 207 208 209
    &.navbar-right {
      right: 0;
      left: auto;
    }
  }
}
C
codecalm 已提交
210

C
codecalm 已提交
211 212
.navbar-side {
  display: none;
C
codecalm 已提交
213

C
codecalm 已提交
214 215 216 217 218 219 220 221 222 223 224
  @include media-breakpoint-up(xl) {
    display: flex;

    &.navbar-fixed {
      & ~ .layout-main {
        margin-left: $sidenav-width;
      }

      &.navbar-right ~ .layout-main {
        margin-right: $sidenav-width;
        margin-left: 0;
C
codecalm 已提交
225
      }
C
codecalm 已提交
226
    }
C
codecalm 已提交
227
  }
C
codecalm 已提交
228

C
codecalm 已提交
229 230
  &.navbar-folded {
    display: flex;
C
codecalm 已提交
231

C
codecalm 已提交
232 233
    &.navbar-fixed {
      @include media-breakpoint-up(lg) {
C
codecalm 已提交
234

C
codecalm 已提交
235 236 237
        & ~ .layout-main {
          margin-left: $sidenav-folded-width;
        }
C
codecalm 已提交
238

C
codecalm 已提交
239 240 241
        &.navbar-right ~ .layout-main {
          margin-right: $sidenav-folded-width;
          margin-left: 0;
C
codecalm 已提交
242 243
        }
      }
C
codecalm 已提交
244
    }
C
codecalm 已提交
245
  }
C
codecalm 已提交
246 247
}

C
tracks  
chomik 已提交
248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272
/*
Right navbar
 */
.navbar-right {
  order: 9;
  border-right: none;
  border-left: 1px solid $sidenav-border-color;
}

/*
Dark navbar
 */
.navbar-dark {
  color: #fff;
  background-color: $sidenav-dark-bg;

  .navbar-brand {
    filter: brightness(0) invert(1);
  }

  .navbar-divider {
    border-color: rgba(#fff, .2);
  }

  .nav-link {
C
codecalm 已提交
273
    color: inherit;
C
tracks  
chomik 已提交
274 275 276
  }
}

C
codecalm 已提交
277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292
/**
Sticky navbar
 */
.navbar-sticky {
  position: sticky;
  top: 0;
  z-index: 100;

  &.navbar-side {
    left: 0;
  }
}

/**
Folded navbar
 */
293 294 295 296
.navbar-folded {
  width: $sidenav-folded-width;
  min-width: $sidenav-folded-width;

C
codecalm 已提交
297
  .navbar-brand {
C
codecalm 已提交
298
    width: 2.5rem;
C
codecalm 已提交
299 300 301 302 303 304
  }

  .navbar-heading {
    display: none;
  }

305 306 307
  .nav-text {
    display: none;
  }
C
codecalm 已提交
308 309

  .nav-link {
C
codecalm 已提交
310
    justify-content: center;
C
codecalm 已提交
311 312 313
    padding-top: 0;
    padding-bottom: 0;

C
codecalm 已提交
314
    &[data-toggle="collapse"]::after {
C
codecalm 已提交
315 316 317 318 319
      content: none;
    }
  }

  .nav-icon {
C
codecalm 已提交
320
    justify-content: center;
C
codecalm 已提交
321
    opacity: 1;
C
codecalm 已提交
322
  }
C
codecalm 已提交
323 324 325 326

  .navbar-subnav {
    position: absolute;
    top: 0;
C
codecalm 已提交
327
    left: 100%;
C
codecalm 已提交
328 329 330 331 332 333 334 335 336 337
    background: #fff;

    .nav-text {
      display: block;
    }

    .nav-link {
      color: $body-color;
    }
  }
C
codecalm 已提交
338 339 340 341
}

.nav-icon {
  display: flex;
C
codecalm 已提交
342 343
  flex-shrink: 0;
  align-items: center;
344
  width: 1.5rem;
C
codecalm 已提交
345
  font-size: px2rem(15px);
C
codecalm 已提交
346 347 348 349 350 351
  border-radius: 100%;
  opacity: .8;

  .icon {
    font-size: inherit;
  }
352 353 354 355 356
}

.nav-text {
  display: flex;
  align-items: center;
C
codecalm 已提交
357
  width: 100%;
358 359
}

C
tracks  
chomik 已提交
360 361 362
/**
Utils
 */
363 364
.hide-navbar-folded {
  @at-root .navbar-side.navbar-folded & {
C
tracks  
chomik 已提交
365 366 367 368
    display: none;
  }
}

369 370
.hide-navbar-expanded {
  @at-root .navbar-side:not(.navbar-folded) & {
C
tracks  
chomik 已提交
371 372 373
    display: none;
  }
}
C
codecalm 已提交
374