зеркало из https://github.com/mozilla/gecko-dev.git
161 строка
3.8 KiB
CSS
161 строка
3.8 KiB
CSS
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
|
|
|
|
*|*:root {
|
|
--menu-icon-opacity: 1;
|
|
--menu-arrow-width: 1em;
|
|
|
|
@media (-moz-platform: windows) {
|
|
--menu-arrow-width: max(1em, 16px);
|
|
|
|
@media (prefers-color-scheme: light) {
|
|
--menu-icon-opacity: 0.7;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Menu separator */
|
|
|
|
menuseparator {
|
|
/* Using padding instead of margin to increase the hit area, as some
|
|
separators (e.g. in bookmarks menus) can be dragged or have a context
|
|
menu. */
|
|
padding-block: 4px;
|
|
}
|
|
|
|
menuseparator::before {
|
|
border-top: 1px solid var(--panel-separator-color);
|
|
content: "";
|
|
display: block;
|
|
flex: 1;
|
|
}
|
|
|
|
/* Accel text */
|
|
|
|
@media not (prefers-contrast) {
|
|
menuitem:not([disabled]) > .menu-accel-container > :is(.menu-accel, .menu-iconic-accel) {
|
|
color: var(--panel-disabled-color);
|
|
}
|
|
}
|
|
|
|
/* Scroll buttons */
|
|
|
|
/* Hide arrow buttons when there's nothing to scroll in that direction */
|
|
.menupopup-arrowscrollbox[scrolledtostart="true"]::part(scrollbutton-up),
|
|
.menupopup-arrowscrollbox[scrolledtoend="true"]::part(scrollbutton-down) {
|
|
display: none;
|
|
}
|
|
|
|
/* Prevent the scrolled contents of the menupopup from jumping vertically when
|
|
* the arrow buttons appear / disappear, by positioning ::part(scrollbox) in
|
|
* such a way that its edges are at the same position as the edges of
|
|
* arrowscrollbox regardless of scroll button visibility.
|
|
*/
|
|
.menupopup-arrowscrollbox:not([scrolledtostart="true"])::part(scrollbox) {
|
|
/* scrollbutton-up is visible; shift our top edge up by its height. */
|
|
margin-top: -16px;
|
|
}
|
|
|
|
.menupopup-arrowscrollbox:not([scrolledtoend="true"])::part(scrollbox) {
|
|
/* scrollbutton-down is visible; shift our bottom edge down by its height. */
|
|
margin-bottom: -16px;
|
|
}
|
|
|
|
.menupopup-arrowscrollbox::part(scrollbox-clip) {
|
|
/* In the space where the arrow buttons overlap the scrollbox, clip away the
|
|
* scrollbox so that nothing is shown behind the arrow button even if the
|
|
* button is transparent.
|
|
*/
|
|
overflow: clip;
|
|
}
|
|
|
|
@media (-moz-platform: windows) or (-moz-platform: linux) {
|
|
menupopup,
|
|
menubar {
|
|
font: menu;
|
|
}
|
|
}
|
|
|
|
@media (-moz-platform: macos) {
|
|
menupopup {
|
|
/* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
|
|
font: -moz-pull-down-menu;
|
|
}
|
|
}
|
|
|
|
menu,
|
|
menuitem,
|
|
menucaption {
|
|
border-radius: calc(var(--panel-border-radius) / 2);
|
|
align-items: center;
|
|
flex-shrink: 0;
|
|
list-style-image: none;
|
|
max-width: 42em;
|
|
|
|
@media (-moz-platform: linux) {
|
|
padding: 4px 6px;
|
|
}
|
|
|
|
@media (-moz-platform: macos) {
|
|
padding: 2px 21px;
|
|
}
|
|
}
|
|
|
|
menu,
|
|
menuitem {
|
|
&:where([disabled="true"]) {
|
|
color: var(--panel-disabled-color);
|
|
text-shadow: none;
|
|
}
|
|
|
|
&:where([_moz-menuactive]:not([disabled="true"])) {
|
|
color: -moz-menuhovertext;
|
|
background-color: -moz-menuhover;
|
|
}
|
|
|
|
&:where([_moz-menuactive="true"][disabled="true"]) {
|
|
background-color: -moz-menuhoverdisabled;
|
|
}
|
|
}
|
|
|
|
menuitem:is([default="true"], .spell-suggestion),
|
|
menucaption {
|
|
font-weight: bold;
|
|
}
|
|
|
|
/* ..... menu arrow box ..... */
|
|
|
|
.menu-right {
|
|
list-style-image: url("chrome://global/skin/icons/arrow-right.svg");
|
|
-moz-context-properties: fill, fill-opacity;
|
|
fill: currentColor;
|
|
fill-opacity: var(--menu-icon-opacity);
|
|
|
|
&:-moz-locale-dir(rtl) {
|
|
list-style-image: url("chrome://global/skin/icons/arrow-left.svg");
|
|
}
|
|
|
|
> image {
|
|
width: var(--menu-arrow-width);
|
|
}
|
|
|
|
@media (-moz-platform: linux) {
|
|
margin-block: 0;
|
|
margin-inline: 6px 0;
|
|
}
|
|
|
|
@media (-moz-platform: windows) {
|
|
margin-inline-end: 1em;
|
|
}
|
|
}
|
|
|
|
@media (-moz-platform: macos) {
|
|
.menu-right,
|
|
.menu-accel-container {
|
|
margin-inline: 21px -9px;
|
|
}
|
|
}
|