html, body { margin: 0; height: 100%; } body { display: flex; flex-direction: column } .menubar { flex: 0 0 22px } div.below-menubar { flex: 1 1 0; min-height: 0;} .menu-item > [role=button] { display: flex; width: 100%; border: none; padding: 0px; color: inherit; background-color: inherit; appearance: none; outline: none; } .nwjs-menu { font-family: 'Helvetica Neue', HelveticaNeue, 'TeX Gyre Heros', TeXGyreHeros, FreeSans, 'Nimbus Sans L', 'Liberation Sans', Arimo, Helvetica, Arial, sans-serif; font-size: 14px; color: #2c2c2c; -webkit-user-select: none; user-select: none; -webkit-font-smoothing: subpixel-antialiased; font-weight: 400; white-space: pre; } .contextmenu { min-width: 100px; background-color: #fafafa; position: fixed; opacity: 0; transition: opacity 250ms; margin: 0; padding: 0 0; list-style: none; pointer-events: none; border: 1px rgba(191, 191, 191, 0.8) solid; border-radius: 4px; box-shadow: rgba(43, 43, 43, 0.34) 1px 1px 11px 0px; z-index: 2147483647; } .contextmenu { opacity: 1; transition: opacity 30ms; pointer-events: all; } .contextmenu.submenu { transition: opacity 250ms; } .contextmenu.submenu { transition: opacity 150ms; transition-timing-function: step-end; } .menu-item.normal, .menu-item.checkbox, .menu-item.radio { cursor: default; margin: 2px 0; padding: 0 0; box-sizing: border-box; position: relative; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: flex-start; align-content: stretch; align-items: flex-start; width: 100%; } .contextmenu .menu-item.active, .menu-item.normal.submenu-active, .menu-item.normal.submenu-active:hover { background-color: #499BFE; color: #fff; } .menu-item:hover { background-color: inherit; } .menu-item.normal > div, .menu-item.checkbox > div, .menu-item.radio > div { align-self: center; vertical-align: middle; display: inline-flex; justify-content: flex-start; flex-shrink: 0; } .menu-item.normal .icon { display: inline-flex; vertical-align: middle; max-width: 16px; max-height: 16px; align-self: center; } li.menu-item.separator { height: 2px; background-color: rgba(128, 128, 128, 0.2); margin: 5px 0; } .menu-item .modifiers, .menu-item .keys, .menu-item .icon-wrap, .menu-item .checkmark { display: inline-flex; align-items: center; vertical-align: middle; } .menu-item .keys { opacity: 0.4; } .menu-item .checkmark { width: 22px; } .menu-item > [role=button] > .modifiers, .menu-item > [role=button] > .keys { box-sizing: border-box; padding: 0 6px; text-align: right; order: 0; flex: 0 0 auto; align-self: center; } .menu-item > [role=button] > .label { padding: 0 22px 0 0; order: 0; flex: 1 0 auto; align-self: center; text-align: left; } .menu-item.disabled, .menu-item.disabled:hover, .contextmenu .menu-item.disabled:hover { color: #ababab; } .menu-item.disabled:hover, .contextmenu .menu-item.disabled:hover { background-color: transparent; } .menu-item .icon-wrap { padding: 0 6px 0 0; display: inline-flex; align-self: center; } .menu-item .label-text { align-items: center; vertical-align: middle; } .menu-item.checkbox.checked .checkmark::before { content: '✔'; text-align: center; width: 100%; } .menu-item.radio.checked .checkmark::before { content: '⊚'; text-align: center; width: 100%; } .menubar { height: 22px; margin: 0; padding: 0; top: 0; left: 0; right: 0; background-color: #eee; z-index: 2147483647; } .menubar > .menu-item.normal { display: inline-block; width: auto; height: 100%; } .menubar .menu-item.normal > div { vertical-align: top; } .menubar > .menu-item { margin: 0 4px 0 0; } .menubar > .menu-item.normal .checkmark, .menubar > .menu-item.normal .modifiers { display: none; } .menubar .menu-item.normal .label { padding: 0 3px; } .contextmenu.menubar-submenu { transition: opacity 0ms; } /* Mac only? .contextmenu { border-radius: 7px; } .contextmenu.menubar-submenu { border-radius: 0 0 7px 7px; } */