From 646d7eeb991bf5f75138b44a9fb93b569fe3bbdc Mon Sep 17 00:00:00 2001 From: Dan Allen Date: Sat, 14 Oct 2017 15:59:16 -0600 Subject: add CSS for UI shell - add CSS for all UI elements outside of article content - add additional CSS classes to be activated by JavaScript - add Roboto and Roboto Mono font packages as dev dependencies - change navigation button in toolbar to a toggle --- src/css/header.css | 273 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 273 insertions(+) create mode 100644 src/css/header.css (limited to 'src/css/header.css') diff --git a/src/css/header.css b/src/css/header.css new file mode 100644 index 0000000..65ce47c --- /dev/null +++ b/src/css/header.css @@ -0,0 +1,273 @@ +:root { + --navbar-height: 3.25rem; +} + +html.is-clipped--navbar { + overflow-y: hidden; +} + +body { + padding-top: var(--navbar-height); +} + +.navbar { + background-color: var(--color-navbar-bg); + color: var(--color-navbar-text); + font-size: 0.83333rem; + height: var(--navbar-height); + position: fixed; + top: 0; + width: 100%; + word-wrap: break-word; + z-index: 3; +} + +.navbar a { + text-decoration: none; +} + +.navbar-brand .navbar-item { + color: var(--color-navbar-text); + font-size: 1.15rem; +} + +@media screen and (min-width: 1024px) { + .navbar-end > .navbar-item, + .navbar-end .navbar-link { + color: var(--color-navbar-text); + } + + .navbar-end > a.navbar-item:hover, + .navbar-end .navbar-link:hover { + background-color: var(--color-navbar-bg-focus); + color: var(--color-navbar-text); + } + + .navbar-end .navbar-link::after { + border-color: var(--color-navbar-text); + } + + .navbar-item.has-dropdown:hover .navbar-link { + background-color: var(--color-navbar-bg-focus); + color: var(--color-navbar-text); + } +} + +.navbar-brand { + align-items: stretch; + display: flex; + flex-shrink: 0; + height: var(--navbar-height); +} + +.navbar-burger { + color: var(--color-navbar-text); + background: none; + border: none; + outline: none; + cursor: pointer; + display: block; + height: var(--navbar-height); + position: relative; + /* width: var(--navbar-height); */ + width: 2.75rem; + margin-left: auto; + padding: 0; +} + +.navbar-burger::-moz-focus-inner { + border: none; +} + +.navbar-burger span { + background-color: currentColor; + display: block; + height: 1px; + left: 50%; + margin-left: -7px; + position: absolute; + top: 50%; + width: 15px; +} + +.navbar-burger span:nth-child(1) { + margin-top: -6px; +} + +.navbar-burger span:nth-child(2) { + margin-top: -1px; +} + +.navbar-burger span:nth-child(3) { + margin-top: 4px; +} + +.navbar-burger:hover { + background-color: var(--color-navbar-bg-focus); +} + +.navbar-burger.is-active span:nth-child(1) { + margin-left: -5px; + transform: rotate(45deg); + transform-origin: left top; +} + +.navbar-burger.is-active span:nth-child(2) { + opacity: 0; +} + +.navbar-burger.is-active span:nth-child(3) { + margin-left: -5px; + transform: rotate(-45deg); + transform-origin: left bottom; +} + +.navbar-menu { + display: none; +} + +.navbar-item, +.navbar-link { + color: var(--color-text); + display: block; + line-height: 1.5; + padding: 0.5rem 1rem; + position: relative; +} + +.navbar-item { + flex: none; +} + +.navbar-item.has-dropdown { + padding: 0; +} + +.navbar-link { + padding-right: 2.5em; +} + +.navbar-dropdown { + font-size: 0.875rem; +} + +.navbar-dropdown .navbar-item { + padding-left: 1.5rem; + padding-right: 1.5rem; +} + +@media screen and (max-width: 1023px) { + .navbar-brand .navbar-item { + align-items: center; + display: flex; + } + + .navbar-menu { + background-color: #fff; + padding: 0.5rem 0; + } + + .navbar-menu.is-active { + display: block; + box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1); + max-height: calc(100vh - var(--navbar-height)); + overflow-y: auto; + } + + .navbar-menu a.navbar-item:hover, + .navbar-menu .navbar-link:hover { + background-color: #fafafa; + } +} + +@media screen and (min-width: 1024px) { + .navbar, + .navbar-menu, + .navbar-end { + align-items: stretch; + display: flex; + } + + .navbar-burger { + display: none; + } + + .navbar-item, + .navbar-link { + align-items: center; + display: flex; + } + + .navbar-item.has-dropdown { + align-items: stretch; + } + + .navbar-item.is-hoverable:hover .navbar-dropdown { + display: block; + } + + .navbar-link::after { + border-width: 0 0 1px 1px; + border-style: solid; + content: " "; + display: block; + height: 0.5em; + pointer-events: none; + position: absolute; + transform: rotate(-45deg); + width: 0.5em; + margin-top: -0.375em; + right: 1.125em; + top: 50%; + } + + .navbar-menu { + flex-grow: 1; + } + + .navbar-end { + justify-content: flex-end; + margin-left: auto; + } + + .navbar-dropdown { + background-color: #fff; + border: 1px solid #e1e1e1; + display: none; + font-size: 0.875rem; + top: 100%; + left: 0; + min-width: 100%; + position: absolute; + } + + .navbar-dropdown .navbar-item { + padding: 0.5rem 1rem; + white-space: nowrap; + } + + .navbar-dropdown a.navbar-item { + padding-right: 3rem; + } + + .navbar-dropdown.is-right { + left: auto; + right: 0; + } + + .navbar-dropdown a.navbar-item:hover { + background-color: #fafafa; + } +} + +.navbar .button { + display: inline-flex; + align-items: center; + background-color: #fff; + border: 1px solid #e1e1e1; + border-radius: 0.15rem; + height: 1.75rem; + color: #333; + padding: 0 0.75em; + white-space: nowrap; +} -- cgit v1.2.3