bulma/sass/components/navbar.sass

237 lines
5.8 KiB
Sass
Raw Normal View History

2017-06-30 21:34:13 +00:00
$navbar-background: $white !default
2017-06-30 22:47:22 +00:00
$navbar-height: 3.25rem !default
$navbar-item: $grey-dark !default
2017-07-01 17:30:39 +00:00
$navbar-item-hover: $black !default
2017-06-30 22:47:22 +00:00
$navbar-item-hover-background: $background !default
2017-07-02 22:44:58 +00:00
$navbar-item-active: $black !default
2017-07-02 22:20:04 +00:00
$navbar-item-active-background: transparent !default
2017-06-30 22:47:22 +00:00
2017-07-16 18:44:28 +00:00
$navbar-tab-hover-background: transparent !default
$navbar-tab-hover-border: $primary !default
$navbar-tab-active: $primary !default
$navbar-tab-active-background: transparent !default
$navbar-tab-active-border: $primary !default
2017-06-30 21:34:13 +00:00
$navbar-dropdown-background: $white !default
2017-07-01 17:30:39 +00:00
$navbar-dropdown-border: $border !default
2017-06-30 22:47:22 +00:00
$navbar-dropdown-offset: -4px !default
$navbar-dropdown-arrow: $link !default
$navbar-dropdown-radius: $radius-large !default
2017-07-02 15:52:20 +00:00
$navbar-dropdown-z: 20 !default
2017-06-30 21:34:13 +00:00
2017-07-02 21:07:30 +00:00
$navbar-dropdown-item-hover: $black !default
2017-06-30 22:47:22 +00:00
$navbar-dropdown-item-hover-background: $background !default
2017-07-01 17:30:39 +00:00
$navbar-dropdown-item-active: $primary !default
2017-07-02 21:07:30 +00:00
$navbar-dropdown-item-active-background: $background !default
2017-06-30 22:47:22 +00:00
$navbar-divider-background: $border !default
2017-06-30 21:34:13 +00:00
.navbar
background-color: $navbar-background
min-height: $navbar-height
position: relative
2017-07-16 18:44:28 +00:00
& > .container
align-items: stretch
display: flex
min-height: $navbar-height
width: 100%
&.has-shadow
box-shadow: 0 2px 3px rgba($black, 0.1)
2017-06-30 21:34:13 +00:00
.navbar-brand
2017-07-16 18:44:28 +00:00
+overflow-touch
2017-06-30 21:34:13 +00:00
align-items: stretch
display: flex
2017-07-16 18:44:28 +00:00
min-height: $navbar-height
overflow-x: auto
overflow-y: hidden
2017-06-30 21:34:13 +00:00
.navbar-burger
+hamburger($navbar-height)
margin-left: auto
2017-06-30 22:47:22 +00:00
.navbar-menu
display: none
2017-06-30 21:34:13 +00:00
.navbar-item,
.navbar-link
2017-06-30 22:47:22 +00:00
color: $navbar-item
2017-06-30 22:16:22 +00:00
display: block
2017-06-30 21:34:13 +00:00
line-height: 1.5
padding: 0.5rem 1rem
position: relative
2017-07-02 22:39:08 +00:00
a.navbar-item,
.navbar-link
&:hover,
&.is-active
background-color: $navbar-item-hover-background
color: $navbar-item-hover
2017-06-30 21:34:13 +00:00
.navbar-item
flex-grow: 0
flex-shrink: 0
img
max-height: 1.75rem
&.has-dropdown
padding: 0
2017-07-16 18:44:28 +00:00
&.is-tab
border-bottom: 1px solid transparent
min-height: $navbar-height
padding-bottom: calc(0.5rem - 1px)
&:hover
background-color: $navbar-tab-hover-background
border-bottom-color: $navbar-tab-hover-border
&.is-active
background-color: $navbar-tab-active-background
border-bottom: 3px solid $navbar-tab-active-border
color: $navbar-tab-active
padding-bottom: calc(0.5rem - 3px)
2017-06-30 21:34:13 +00:00
.navbar-content
flex-grow: 1
flex-shrink: 1
.navbar-link
padding-right: 2.5em
.navbar-dropdown
font-size: 0.875rem
2017-06-30 22:16:22 +00:00
padding-bottom: 0.5rem
padding-top: 0.5rem
2017-06-30 21:34:13 +00:00
.navbar-item
2017-06-30 22:16:22 +00:00
padding-left: 1.5rem
padding-right: 1.5rem
2017-06-30 21:34:13 +00:00
.navbar-divider
2017-06-30 22:47:22 +00:00
background-color: $navbar-divider-background
2017-06-30 21:34:13 +00:00
border: none
2017-06-30 22:16:22 +00:00
display: none
2017-06-30 21:34:13 +00:00
height: 1px
2017-06-30 22:16:22 +00:00
margin: 0.5rem 0
2017-06-30 21:34:13 +00:00
2017-06-30 22:16:22 +00:00
+touch
.navbar-brand
.navbar-item
align-items: center
display: flex
2017-06-30 21:34:13 +00:00
.navbar-menu
2017-07-01 19:50:05 +00:00
box-shadow: 0 8px 16px rgba($black, 0.1)
2017-06-30 21:34:13 +00:00
padding: 0.5rem 0
2017-06-30 22:47:22 +00:00
&.is-active
display: block
2017-06-30 21:34:13 +00:00
2017-06-30 22:16:22 +00:00
+desktop
2017-06-30 21:34:13 +00:00
.navbar,
.navbar-menu,
.navbar-start,
.navbar-end
align-items: stretch
display: flex
2017-06-30 22:16:22 +00:00
.navbar
2017-07-16 18:44:28 +00:00
min-height: $navbar-height
2017-07-01 17:30:39 +00:00
&.is-transparent
2017-07-02 21:07:30 +00:00
a.navbar-item,
.navbar-link
&:hover,
&.is-active
background-color: transparent
2017-07-02 22:20:04 +00:00
.navbar-item.has-dropdown
2017-07-02 21:07:30 +00:00
&.is-active,
&.is-hoverable:hover
.navbar-link
2017-07-01 17:30:39 +00:00
background-color: transparent
2017-07-02 22:20:04 +00:00
.navbar-dropdown
a.navbar-item
&:hover
background-color: $navbar-dropdown-item-hover-background
color: $navbar-dropdown-item-hover
&.is-active
background-color: $navbar-dropdown-item-active-background
color: $navbar-dropdown-item-active
2017-06-30 21:34:13 +00:00
.navbar-burger
display: none
2017-06-30 22:16:22 +00:00
.navbar-item,
.navbar-link
align-items: center
display: flex
.navbar-item
&.has-dropdown
align-items: stretch
2017-06-30 22:47:22 +00:00
&.is-active,
&.is-hoverable:hover
2017-07-02 21:07:30 +00:00
.navbar-dropdown
display: block
&.is-boxed
opacity: 1
pointer-events: auto
transform: translateY(0)
.navbar-link
&::after
+arrow($navbar-dropdown-arrow)
margin-top: -0.375em
right: 1.125em
top: 50%
2017-06-30 21:34:13 +00:00
.navbar-menu
flex-grow: 1
flex-shrink: 0
.navbar-start
justify-content: flex-start
margin-right: auto
.navbar-end
justify-content: flex-end
2017-06-30 22:16:22 +00:00
margin-left: auto
.navbar-dropdown
background-color: $navbar-dropdown-background
2017-07-01 17:30:39 +00:00
border-bottom-left-radius: $navbar-dropdown-radius
border-bottom-right-radius: $navbar-dropdown-radius
border-top: 1px solid $navbar-dropdown-border
box-shadow: 0 8px 8px rgba($black, 0.1)
2017-06-30 22:16:22 +00:00
display: none
font-size: 0.875rem
left: 0
min-width: 100%
position: absolute
2017-07-01 17:30:39 +00:00
top: 100%
2017-07-02 15:52:20 +00:00
z-index: $navbar-dropdown-z
2017-06-30 22:16:22 +00:00
.navbar-item
padding: 0.375rem 1rem
white-space: nowrap
2017-07-02 15:52:20 +00:00
a.navbar-item
padding-right: 3rem
2017-07-02 22:20:04 +00:00
&:hover
background-color: $navbar-dropdown-item-hover-background
color: $navbar-dropdown-item-hover
&.is-active
background-color: $navbar-dropdown-item-active-background
color: $navbar-dropdown-item-active
2017-07-01 17:30:39 +00:00
&.is-boxed
border-radius: $navbar-dropdown-radius
border-top: none
box-shadow: 0 8px 8px rgba($black, 0.1), 0 0 0 1px rgba($black, 0.1)
display: block
opacity: 0
pointer-events: none
top: calc(100% + (#{$navbar-dropdown-offset}))
transform: translateY(-5px)
transition-duration: $speed
transition-property: opacity, transform
2017-06-30 22:16:22 +00:00
.navbar-divider
display: block
.container > .navbar
margin-left: -1rem
2017-06-30 22:47:22 +00:00
margin-right: -1rem
2017-07-02 22:39:08 +00:00
// Hover/Active states
a.navbar-item,
.navbar-link
&.is-active
color: $navbar-item-active
&.is-active:not(:hover)
background-color: $navbar-item-active-background
.navbar-item.has-dropdown
&:hover,
&.is-active
.navbar-link
background-color: $navbar-item-hover-background