UNPKG

smdm-slide-menu

Version:

A library agnostic multilevel page menu with a smooth slide effect based on CSS transitions, focused on accessibility.

139 lines (114 loc) 2.05 kB
:root { --color-primary: #2e6da4; --color-primary-dark: #1e4f7a; --color-bg-page: #f5f5f5; } html { font-size: 20px; } body { font-family: Lato, sans-serif; line-height: 1.4; color: rgba(0, 0, 0, 0.87); background-color: var(--color-bg-page); } h1 { font-size: 1.8rem; font-weight: 700; } h2 { margin-top: 1.5rem; margin-bottom: 1rem; font-size: 1rem; } a { text-decoration: none; color: var(--color-primary); } .btn, a { transition: background-color 0.15s ease-in-out; will-change: background-color; } p { margin: 0 0 0.5rem; } p:last-of-type { margin: 0 0 2rem; } footer { margin-top: 2rem; font-size: 90%; } footer a { font-style: italic; } footer path { fill: var(--color-primary); } .btn { padding: 0.6rem 0.8rem 0.64rem; border: none; color: #fff; cursor: pointer; font-family: inherit; font-size: 85%; line-height: 1; } .icon { height: 0.6rem; margin: 0 0 0.1rem; vertical-align: middle; } main { display: block; width: 90%; margin: 2.5rem auto; } main .btn { width: 100%; display: block; margin: 0 0.25rem 0.75rem 0; background-color: var(--color-primary); border-radius: 0.2rem; font-size: 70%; letter-spacing: 0.03em; text-transform: uppercase; } @media (min-width: 768px) { main { max-width: 40rem; } main .btn { width: auto; display: inline-block; } main .btn:hover { background-color: var(--color-primary-dark); } } main #events { font-family: monospace; font-size: 80%; } /* Integration demo: host-project overrides for .slide-menu styling. Note: do NOT set a fixed width here — let the library control width via --smdm-sm-menu-width so fold layout works correctly. */ .slide-menu { --smdm-sm-menu-width: 340px; line-height: 1.4; font-size: 0.8rem; } .slide-menu, .slide-menu a { color: #fff; } .slide-menu a { text-decoration: none; } .slide-menu a:hover { background-color: var(--smdm-sm-color-hover); } .slide-menu .slide-menu__backlink { text-transform: uppercase; }