Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  customizeMode.css   Sprache: unbekannt

 
/* 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 html url("http://www.w3.org/1999/xhtml");

/* Customization mode */

:root {
  --drag-drop-transition-duration: .3s;

  @media (prefers-reduced-motion: reduce) {
    --drag-drop-transition-duration: 0s;
  }
}

:root[customizing] .customization-target:not(#widget-overflow-fixed-list) {
  min-width: 100px;
}

/* When customizing, overflowable toolbars move automatically moved items back
 * from the overflow menu, but we still don't want to render them outside of
 * the customization target. */
toolbar[overflowable][customizing] > .customization-target {
  overflow: clip;
}

#customization-container {
  flex-direction: column;
  min-height: 0;
  background-color: var(--toolbar-bgcolor);
  color: var(--toolbar-color);
  color-scheme: var(--toolbar-color-scheme);

  &:not([hidden]) {
    /* In a separate rule to avoid 'display:flex' causing the node to be
     * displayed while the container is still hidden. */
    display: flex;
  }

  :root[lwtheme] & {
    /* Ensure toolbar color displays on top of the frame/toolbox color to
     * guarantee full opacity */
    background-color: var(--lwt-accent-color);
    background-image: linear-gradient(var(--toolbar-bgcolor), var(--toolbar-bgcolor));
  }
}

#customization-content-container {
  display: flex;
  flex: 1; /* Grow so there isn't empty space below the footer */
  min-height: 0; /* Allow this to shrink so the footer doesn't get pushed out. */
}

#customization-header {
  font-weight: var(--font-weight-bold);
  font-size: 1.2em;
  margin: 20px 20px 15px;
}

#customization-panel-container {
  --customization-panel-padding: 20px;

  overflow-y: auto;
  display: flex;
  flex-direction: column;
  flex: none;
  padding: 0 var(--customization-panel-padding) 25px;
}

#customization-footer-spacer,
#customization-spacer {
  flex: 1 1 auto;
}

#customization-footer {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  flex-wrap: wrap;
  border-top: 1px solid rgba(0,0,0,.15);
  padding: 10px;

  > .footer-button,
  > .customization-checkbox,
  > .customization-link {
    margin-block: 0;
  }
}

#customization-palette-container {
  display: flex;
  flex-direction: column;
  flex: 1;
}

#customization-palette {
  padding: 5px 20px 20px;
  transition: opacity .3s ease-in-out;
  opacity: 0;

  &:not([hidden]) {
    display: block;
    flex: 1 1 auto;
    overflow: auto;
    min-height: 3em;
    margin-bottom: 20px;
  }

  &[showing="true"] {
    opacity: 1;
  }

  .toolbarbutton-1 {
    appearance: none;
    flex-direction: column;
    padding: 12px 0 9px;
    margin: 0;

    :root[lwtheme-image] & {
      fill: currentColor;
    }

    > .toolbarbutton-badge-stack > .toolbarbutton-icon {
      width: var(--panel-and-palette-icon-size);
      height: var(--panel-and-palette-icon-size);
      min-width: var(--panel-and-palette-icon-size);
      min-height: var(--panel-and-palette-icon-size);
      padding: 0;
    }
  }
}

toolbarpaletteitem {
  -moz-window-dragging: no-drag;
  justify-content: flex-start;

  > toolbarbutton,
  > toolbaritem {
    /* Prevent children from getting events. */
    pointer-events: none;
    justify-content: center;
  }

  > toolbarspring {
    outline: 1px solid;
    opacity: .6;
  }

  toolbarbutton[disabled] {
    color: inherit !important;
  }

  &[removable="false"] {
    opacity: 0.5;
  }

  &[dragover] {
    border-inline-color: transparent;
  }

  &[place="palette"] {
    flex-direction: column;
    width: 7em;
    max-width: 7em;
    /* icon (16) + margin (9 + 12) + 3 lines of text: */
    height: calc(39px + 3em);
    margin-bottom: 5px;
    margin-inline-end: 24px;
    overflow: visible;
    display: inline-flex;
    vertical-align: top;

    &[hidden] {
      display: none;
    }

    &::after {
      content: attr(title);
      display: block;
      text-align: center;
    }

    /* Webextension buttons */
    > toolbarbutton[constrain-size="true"] > .toolbarbutton-icon,
    > toolbarbutton[constrain-size="true"] > .toolbarbutton-badge-stack > .toolbarbutton-icon {
      height: var(--panel-and-palette-icon-size);
      width: var(--panel-and-palette-icon-size);
    }

    > toolbarspring {
      outline-offset: -8px;
      max-height: 37px;
    }

    > #search-container {
      min-width: 7em;
      width: 7em;
      min-height: 37px;
      max-height: 37px;
    }
  }

  &[place="toolbar"] {
    /* Override the toolkit styling for items being dragged over. */
    border-inline-width: 0;
    margin-inline: 0;

    > toolbarspring {
      outline-offset: -2px;
      margin-block: 5px;
    }
  }

  &[place="panel"] {
    border-block: 0 solid transparent;

    > .toolbarbutton-1,
    > toolbaritem {
      flex: 1;
    }
  }

  &[place="palette"],
  &[place="panel"],
  &[place="toolbar"] {
    @media not (-moz-platform: macos) {
      -moz-user-focus: normal;
    }

    &:focus-visible {
      outline-width: 0;
    }

    &:not([mousedown]):focus-visible {
      /* Delay adding the focusring back until after the transform transition completes. */
      transition: outline-width .01s linear var(--drag-drop-transition-duration);
      outline: var(--default-focusring);

      &[place="toolbar"] {
        outline-offset: calc(-1 * var(--default-focusring-width) - 4px);
      }
    }
  }

  &:not([notransition]) {
    &[place="palette"] {
      transition: transform var(--drag-drop-transition-duration) ease-in-out;
    }

    &[place="panel"],
    &[place="toolbar"] {
      transition: border-width var(--drag-drop-transition-duration) ease-in-out;
    }
  }

  &:not([place="palette"]) > #stop-reload-button {
    justify-content: inherit;
  }

  #PersonalToolbar & toolbarbutton[checked="true"],
  toolbar & toolbarbutton[checked="true"]
    > :where(.toolbarbutton-icon, .toolbarbutton-text, .toolbarbutton-badge-stack) {
    background-color: revert !important;
  }

  > toolbarbutton > .toolbarbutton-icon,
  > toolbarbutton > .toolbarbutton-badge-stack > .toolbarbutton-icon,
  > #search-container,
  > toolbaritem.toolbaritem-combined-buttons {
    transition: transform var(--drag-drop-transition-duration) cubic-bezier(.6, 2, .75, 1.5) !important;
  }

  &[mousedown] {
    cursor: -moz-grabbing;

    > toolbarbutton > .toolbarbutton-icon,
    > toolbarbutton > .toolbarbutton-badge-stack > .toolbarbutton-icon {
      transform: scale(1.3);
    }

    > #search-container,
    > toolbaritem.toolbaritem-combined-buttons {
      transform: scale(1.1);
    }

    > #search-container > #searchbar,
    > #urlbar-container > #urlbar > #urlbar-background {
      outline: 1px solid color-mix(in srgb, currentColor 60%, transparent);
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.13);
    }
  }

  > #search-container > #searchbar > .searchbar-textbox {
    /* Hide searchbar placeholder text in customize mode. */
    visibility: hidden;
  }
}

#wrapper-edit-controls > #edit-controls > toolbarbutton > .toolbarbutton-icon {
  opacity: 1; /* To ensure these buttons always look enabled in customize mode */
}

#wrapper-zoom-controls[place="palette"] > #zoom-controls > #zoom-reset-button,
#wrapper-zoom-controls[place="palette"] > #zoom-controls > #zoom-reset-button + separator {
  display: none;
}

/* Squeeze together the multi-button toolbarpaletteitems: */
#wrapper-zoom-controls[place="palette"] > #zoom-controls > #zoom-out-button,
#wrapper-edit-controls[place="palette"] > #edit-controls > #cut-button,
#wrapper-profiler-button[place="palette"] > #profiler-button > #profiler-button-button {
  align-items: flex-end;
}
#wrapper-zoom-controls[place="palette"] > #zoom-controls > #zoom-in-button,
#wrapper-edit-controls[place="palette"] > #edit-controls > #paste-button,
#wrapper-profiler-button[place="palette"] > #profiler-button > #profiler-button-dropmarker {
  align-items: flex-start;
}
#wrapper-edit-controls[place="palette"] > #edit-controls > #copy-button {
  flex: none;
}

#customization-uidensity-touch-spacer {
  border-top: 1px solid var(--panel-separator-color);
  margin: 6px calc(-1 * var(--arrowpanel-padding)) 9px;
}

#customization-uidensity-autotouchmode-checkbox {
  margin-bottom: var(--arrowpanel-padding);
}

#customization-uidensity-menu {
  font: menu;

  /* Make the panel padding uniform across all platforms due to the
     styling of the section headers and footer. */
  --arrowpanel-padding: 8px;
}

.customization-uidensity-menuitem > .menu-iconic-left > .menu-iconic-icon {
  width: 32px;
  height: 32px;
  margin: 5px;
}

.customization-uidensity-menuitem {
  appearance: none;
  color: inherit;
  border: 1px solid transparent;
  border-radius: 4px;
  padding-block: 0;
  padding-inline: 0 5px;
  margin: 2px 0;
}

#customization-uidensity-menuitem-normal {
  list-style-image: url("chrome://browser/skin/customizableui/density-normal.svg");
}

#customization-uidensity-menuitem-compact {
  list-style-image: url("chrome://browser/skin/customizableui/density-compact.svg");
}

#customization-uidensity-menuitem-touch {
  list-style-image: url("chrome://browser/skin/customizableui/density-touch.svg");
}

.customization-uidensity-menuitem:is(:hover, :focus-visible) {
  background-color: var(--button-background-color-hover);
}

.customization-uidensity-menuitem:is(:hover:active, [active="true"]) {
  background-color: var(--button-background-color-active);
}

.customization-uidensity-menuitem > .menu-iconic-text {
  text-align: start;
}

.customization-uidensity-menuitem > .menu-iconic-left > .menu-iconic-icon:-moz-locale-dir(rtl) {
  transform: scaleX(-1);
}

#customization-uidensity-button > .box-inherit > .box-inherit > .button-icon:-moz-locale-dir(rtl) {
  transform: scaleX(-1);
}

#customization-panelWrapper,
#customization-panelWrapper > .panel-arrowcontent,
#customization-panelHolder {
  flex-direction: column;
  display: flex;
  flex-shrink: 1;
  min-height: calc(174px + 9em);
}

#customization-panelWrapper {
  flex: 1;
  align-items: end; /* align to the end on the cross-axis (affects arrow) */

  > .panel-arrowcontent {
    color: var(--arrowpanel-color);
    background: var(--arrowpanel-background);
    background-clip: padding-box;
    max-width: 29em;

    @media (-moz-platform: macos) {
      /* Native styling adds more 'oompf' to the popup box-shadow, so simulate that
       * as best as we can here: */
      box-shadow: 0 0 1px hsla(0,0%,0%,.3), 0 4px 10px hsla(0,0%,0%,.3);
      appearance: none;
      border-radius: var(--arrowpanel-border-radius);
    }

    @media not (-moz-platform: macos) {
      border: 1px solid var(--arrowpanel-border-color);
      margin: 0;
      box-shadow: 0 0 4px hsla(0,0%,0%,.2);
    }
  }
}

#customization-panelWrapper > .panel-arrowbox {
  display: block;
  position: relative;
  height: 10px;
  margin-bottom: -1px;

  > .panel-arrow[side="top"] {
    list-style-image: url("chrome://global/skin/arrow/panelarrow-vertical.svg");
    -moz-context-properties: fill, stroke;
    fill: var(--arrowpanel-background);
    stroke: var(--arrowpanel-border-color);
    /* JS code sets --panel-arrow-offset to the distance between the middle of the
     * overflow button and the end of the window. We subtract the padding of our
     * container (#customization-panel-container) and half our own width:
     */
    margin-inline-end: calc(var(--panel-arrow-offset) - var(--customization-panel-padding) - 10px);
    vertical-align: top;

    @media (-moz-platform: macos) {
      /* The OS X image is 2px narrower than the windows/linux one.
       * Add padding to compensate: */
      padding: 0 1px;
      /* specify width for hidpi image to fit correctly */
      width: 20px;
    }
  }
}

#customization-panelDescription {
  font-size: 1.1em;
  padding: 2px 12px 10px;
  margin: 0;
}

#customization-panelHeader {
  font-size: 1.3em;
  font-weight: 600;
  padding: 2px 12px;
  margin: 0;
}

#customization-panelHolder {
  padding-block: 10px;

  > #widget-overflow-fixed-list {
    flex: 1; /* Grow within the available space, and allow ourselves to shrink */
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    padding-top: 10px;

    /**
     * We create a ::before pseudoelement that contains a background image to show the
     * drop dragon. This element fades in and out depending on whether the containing
     * panel list is empty and unhovered, or not.
     */
    &:not(:empty) {
      padding-bottom: 50px; /* Make sure there's always space to drop stuff. */
      border-top: 1px solid var(--panel-separator-color);
    }

    &::before {
      display: block;
      content: "";
      background-image: image-set(
        url("chrome://browser/skin/customizableui/empty-overflow-panel.png"),
        url("chrome://browser/skin/customizableui/empty-overflow-panel@2x.png") 2x
      );
      background-position: center bottom 10px;
      background-size: 218px 134px;
      background-repeat: no-repeat;
      opacity: 0;
      transition: opacity 300ms ease-out;
      padding-bottom: 154px; /* 154 = 134 for the image, 10px space on either side. */
      margin-bottom: -154px; /* don't affect positioning of the actual contents */
      pointer-events: none;
    }

    &:empty::before {
      opacity: 1;
    }
    &[draggingover]:empty::before {
      opacity: 0;
    }
  }
}

#downloads-button-autohide-panel {
  --arrowpanel-padding: 5px 12px;
}

#downloads-button-autohide-checkbox {
  margin: 0;
  padding: 0;
}

#whimsy-button {
  /* Don't need HiDPI versions since the size used will be scaled down to 20x20. */
  list-style-image: url("chrome://browser/skin/customizableui/whimsy.png");
}

#whimsy-button > .button-box > .button-icon {
  width: 16px;
  height: 16px;
}

#customization-palette[whimsypong] {
  /* Keep the palette in the render tree but invisible
     so -moz-element() will work. */
  padding: 0;
  min-height: 0;
  max-height: 0;

  > toolbarpaletteitem > toolbarspring {
    margin: 0 -7px;
  }

  @media (-moz-platform: linux) {
    > toolbarpaletteitem[id^="wrapper-customizableui-special-spring"] {
      font-size: 12px;
    }
  }
}

#wp-lives,
#wp-ball {
  /* Don't need HiDPI versions since the size used will be scaled down to 20x20. */
  background-image: url("chrome://browser/skin/customizableui/whimsy.png");
  background-size: contain;
  width: 20px;
}

#customization-pong-arena {
  width: 300px;
  height: 300px;
  border-inline: 1px solid currentColor;
  margin: 16px auto 0;
  box-sizing: content-box;
}

#customization-palette[whimsypong] > toolbarpaletteitem[kcode],
#customization-pong-arena[kcode] {
  animation-name: kcode;
  animation-timing-function: steps(5);
  animation-duration: 1s;
  animation-iteration-count: infinite;
}

#wp-ball {
  margin-inline-start: -10px;
  margin-top: -10px;
  height: 20px;
}

#wp-player1,
#wp-player2 {
  width: 84px;
  height: calc(39px + 3em);
}

#wp-player1,
#wp-player2,
#wp-ball,
#wp-score {
  display: block;
  position: fixed;
}

#wp-score {
  transform: translateX(-4ch);

  &:-moz-locale-dir(rtl) {
    transform: translateX(4ch);
  }
}

#wp-lives {
  transform: translate(-4ch, 1ch);

  &:-moz-locale-dir(rtl) {
    transform: translate(4ch, 1ch);
  }

  &[lives="5"] {
    height: 100px;
  }

  &[lives="4"] {
    height: 80px;
  }

  &[lives="3"] {
    height: 60px;
  }

  &[lives="2"] {
    height: 40px;
  }

  &[lives="1"] {
    height: 20px;
  }
}

#customization-pong-arena[lives="0"] > #wp-ball {
  animation: game-over 4s forwards ease;
}

@keyframes game-over {
  0% {
    transform: scale(1) translateY(0) rotateZ(0);
    opacity: 1;
  }
  15% {
    transform: scale(2) translateY(-10px) rotateZ(-90deg);
  }
  35% {
    opacity: 1;
  }
  65% {
    opacity: 0;
  }
  100% {
    transform: scale(2) translateY(300px) rotateZ(-2.5turn);
    opacity: 0;
  }
}

@keyframes kcode {
  0% { border-color: rgb(195,17,206); color: rgb(195,17,206); }
  20% { border-color: rgb(252,82,27); color: rgb(252,82,27); }
  40% { border-color: rgb(251,179,0); color: rgb(251,179,0); }
  60% { border-color: rgb(105,211,0); color: rgb(105,211,0); }
  80% { border-color: rgb(20,155,249); color: rgb(20,155,249); }
  100% { border-color: rgb(195,17,206); color: rgb(195,17,206); }
}

[ zur Elbe Produktseite wechseln0.21Quellennavigators  Projekt   ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge