1 /* vim:set ts=2 sw=2 sts=2 et: */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 /* CSS Variables specific to the devtools toolbar that aren't defined by the themes */
9 --searchbox-background-color: #000000;
10 --searchbox-border-color: #9C9CFF;
11 --searcbox-no-match-background-color: #400000;
12 --searcbox-no-match-border-color: #FF0000;
15 --command-paintflashing-image: url(images/command-paintflashing.svg);
16 --command-screenshot-image: url(images/command-screenshot.svg);
17 --command-responsive-image: url(images/command-responsivemode.svg);
18 --command-scratchpad-image: url(images/command-scratchpad.svg);
19 --command-pick-image: url(images/command-pick.svg);
20 --command-frames-image: url(images/command-frames.svg);
21 --command-splitconsole-image: url(images/command-console.svg);
22 --command-noautohide-image: url(images/command-noautohide.svg);
23 --command-eyedropper-image: url(images/command-eyedropper.svg);
24 --command-rulers-image: url(images/command-rulers.svg);
25 --command-measure-image: url(images/command-measure.svg);
30 .devtools-sidebar-tabs tabs {
36 .devtools-toolbar checkbox {
37 /* LCARStrek checkbox colors don't work well against toolbar background */
38 background-color: var(--theme-toolbar-background);
40 line-height: -moz-block-height;
42 .devtools-toolbar checkbox .checkbox-check {
44 .devtools-toolbar checkbox .checkbox-label-box {
46 .devtools-toolbar checkbox .checkbox-label-box .checkbox-label {
52 .devtools-toolbarbutton,
54 /* transition: background 0.05s ease-in-out; */
58 .devtools-toolbarbutton {
61 .devtools-menulist:-moz-focusring,
62 .devtools-toolbarbutton:-moz-focusring {
63 outline: 1px dotted var(--theme-selection-color);
66 .devtools-toolbarbutton:not([label]) > .toolbarbutton-icon,
67 .devtools-button::before {
70 /* transition: opacity 0.05s ease-in-out;*/
78 background: var(--theme-toolbar-background);
79 color: var(--theme-body-color);
80 /* The icon is absolutely positioned in the button using ::before */
84 .devtools-button:not([disabled]):hover {
85 background: var(--theme-hover-background);
86 color: var(--theme-hover-color);
89 .devtools-button:not([disabled]):hover:active {
90 background: var(--theme-active-background);
91 color: var(--theme-active-color);
94 /* Menu type buttons and checked states */
95 .devtools-button[checked] {
96 background: var(--theme-selection-background);
97 color: var(--theme-selection-color);
100 .devtools-button::before {
106 margin: -8px 0 0 -8px;
107 background-size: cover;
108 background-repeat: no-repeat;
109 /* transition: opacity 0.05s ease-in-out;*/
112 /* Standalone buttons */
113 .devtools-button[standalone],
114 .devtools-button[data-standalone],
115 .devtools-toolbarbutton[standalone],
116 .devtools-toolbarbutton[data-standalone] {
118 /* min-height: 32px; */
119 background-color: var(--theme-button-background);
122 .devtools-toolbarbutton[standalone] {
124 .devtools-toolbarbutton[label][standalone] {
127 /* Icon button styles */
128 .devtools-toolbarbutton:not([label]),
129 .devtools-toolbarbutton[text-as-image] {
133 #toolbox-buttons .devtools-toolbarbutton[text-as-image] {
134 -moz-padding-start: 5px;
135 -moz-padding-end: 5px;
139 #toolbox-buttons .devtools-toolbarbutton:not([text-as-image]):not(:hover):not([open=true]) {
140 /* background: transparent; */
142 #toolbox-buttons .devtools-toolbarbutton[type=menu] > .toolbarbutton-menu-dropmarker {
146 .devtools-toolbarbutton:not([label]) > .toolbarbutton-text {
150 .devtools-toolbar .devtools-toolbarbutton {
151 -moz-margin-start: 2px;
154 .devtools-toolbarbutton > .toolbarbutton-icon {
157 /* Menu button styles (eg. web console filters) */
158 .devtools-toolbarbutton[type=menu-button] > .toolbarbutton-menubutton-button {
159 /* -moz-box-orient: horizontal; */
162 .devtools-toolbarbutton[type=menu-button] {
165 .devtools-toolbarbutton > .toolbarbutton-menubutton-button > .toolbarbutton-icon {
168 .devtools-menulist > .menulist-dropmarker {
171 .devtools-toolbarbutton[type=menu] > .toolbarbutton-menu-dropmarker,
172 .devtools-toolbarbutton[type=menu-button] > .toolbarbutton-menubutton-dropmarker {
175 /* Icon-only buttons */
176 .devtools-button:empty::before,
177 .devtools-toolbarbutton:not([label]):not([disabled]) > image {
181 .devtools-button:hover:empty::before,
182 .devtools-button[checked]:empty::before,
183 .devtools-button[open]:empty::before,
184 .devtools-toolbarbutton:not([label]):hover > image,
185 .devtools-toolbarbutton:not([label])[checked=true] > image,
186 .devtools-toolbarbutton:not([label])[open=true] > image {
190 .devtools-button:disabled,
191 .devtools-button[disabled],
192 .devtools-toolbarbutton[disabled] {
193 /* opacity: 0.5 !important;*/
196 .devtools-button[checked]:empty::before,
197 .devtools-button[open]:empty::before,
198 .devtools-toolbarbutton:not([label])[checked=true] > image,
199 .devtools-toolbarbutton:not([label])[open=true] > image {
200 filter: url(images/filters.svg#checked-icon-state);
203 /* Text-only buttons */
204 .devtools-toolbarbutton[label]:not([text-as-image]):not([type=menu-button]),
205 #toolbox-buttons .devtools-toolbarbutton[text-as-image] {
206 /* background-color: rgba(0, 0, 0, .2); / Splitter */
209 /* Text-only button states */
210 .devtools-button:not(:empty):not([disabled]):hover,
211 #toolbox-buttons .devtools-toolbarbutton:not([disabled])[text-as-image]:hover,
212 .devtools-toolbarbutton:not(:-moz-any([checked=true],[disabled],[text-as-image]))[label]:hover {
213 /* background: rgba(0, 0, 0, .3); / Splitters */
216 .devtools-button:not(:empty):not([disabled]):hover:active,
217 #toolbox-buttons .devtools-toolbarbutton:not([disabled])[text-as-image]:hover:active,
218 .devtools-toolbarbutton:not(:-moz-any([checked=true],[disabled],[text-as-image]))[label]:hover:active {
219 /* background: rgba(0, 0, 0, .4); / Splitters */
222 .devtools-toolbarbutton:not([disabled])[label][checked=true],
223 .devtools-toolbarbutton:not([disabled])[label][open],
224 .devtools-button:not(:empty)[checked=true],
225 #toolbox-buttons .devtools-toolbarbutton[text-as-image][checked=true] {
226 /* background: rgba(29, 79, 115, .7); / Select highlight blue /
227 color: var(--theme-selection-color); */
230 .devtools-menulist[open=true],
231 .devtools-toolbarbutton[open=true],
232 .devtools-toolbarbutton[open=true]:hover,
233 .devtools-toolbarbutton[open=true]:hover:active,
234 .devtools-toolbarbutton[checked=true],
235 .devtools-toolbarbutton[checked=true]:hover,
236 #toolbox-buttons .devtools-toolbarbutton[text-as-image][checked] {
237 /* background: rgba(29, 79, 115, .8); / Select highlight blue /
238 color: var(--theme-selection-color); */
241 .devtools-toolbarbutton[checked=true]:hover {
244 .devtools-option-toolbarbutton {
245 list-style-image: url("chrome://devtools/skin/images/tool-options-tbutton.svg");
248 /* Toolbar button groups */
249 .devtools-toolbarbutton-group > .devtools-toolbarbutton {
252 .devtools-toolbarbutton-group > .devtools-toolbarbutton:last-child {
255 .devtools-toolbarbutton-group + .devtools-toolbarbutton {
258 .devtools-separator + .devtools-toolbarbutton {
262 --clear-icon-url: url("chrome://devtools/skin/images/clear.svg");
265 .devtools-button.devtools-clear-icon::before {
266 background-image: var(--clear-icon-url);
269 .devtools-toolbarbutton.devtools-clear-icon {
270 list-style-image: var(--clear-icon-url);
276 .devtools-searchinput {
277 /* -moz-appearance: none;
279 border: 1px solid rgb(88, 94, 101);
281 background-color: rgba(24, 29, 32, 1);
283 color: rgba(184, 200, 217, 1);*/
286 :root[platform="mac"] .devtools-textinput,
287 :root[platform="mac"] .devtools-searchinput {
288 /* border-radius: 20px;*/
292 .devtools-searchinput {
296 -moz-padding-start: 22px;
297 -moz-padding-end: 4px;
298 background-position: 8px center;
299 background-size: 11px 11px;
300 background-repeat: no-repeat;
303 background-image: url("magnifying-glass.png");
306 .devtools-searchinput:-moz-locale-dir(rtl),
307 .devtools-searchinput:-moz-dir(rtl) {
308 background-position: calc(100% - 8px) center;
311 .devtools-searchinput > .textbox-input-box > .textbox-search-icons > .textbox-search-icon {
315 /* Searchbox is a div container element for a search input element */
316 .devtools-searchbox {
322 .devtools-rule-searchbox {
328 .devtools-rule-searchbox[filled] {
329 background-color: var(--searchbox-background-color);
330 border-color: var(--searchbox-border-color);
331 -moz-padding-end: 23px;
334 .devtools-style-searchbox-no-match {
335 background-color: var(--searcbox-no-match-background-color) !important;
336 border-color: var(--searcbox-no-match-border-color) !important;
339 .devtools-no-search-result {
340 border-color: var(--theme-highlight-red) !important;
343 .devtools-searchinput-clear {
351 background-position: 0 0;
352 background-repeat: no-repeat;
353 background-color: transparent;
356 .devtools-searchinput-clear:-moz-dir(rtl) {
361 .devtools-searchinput-clear {
362 background-image: url("chrome://devtools/skin/search-clear.svg");
365 .devtools-style-searchbox-no-match + .devtools-searchinput-clear {
366 background-image: url("chrome://devtools/skin/search-clear-failed.svg") !important;
369 .devtools-searchinput-clear:hover {
370 background-position: -16px 0;
373 .devtools-searchinput > .textbox-input-box > .textbox-search-icons > .textbox-search-clear {
374 list-style-image: url("chrome://devtools/skin/search-clear.svg");
375 -moz-image-region: rect(0, 16px, 16px, 0);
378 .devtools-searchinput > .textbox-input-box > .textbox-search-icons > .textbox-search-clear:hover {
379 -moz-image-region: rect(0, 32px, 16px, 16px);
382 @media (min-resolution: 1.1dppx) {
383 .devtools-searchinput {
384 background-image: url("magnifying-glass@2x.png");
390 .devtools-closebutton {
395 .devtools-closebutton > image {
398 -moz-appearance: none;
399 background-size: 32px 16px;
400 background-image: url("chrome://devtools/skin/close@2x.png");
401 background-position: 0 center;
402 background-repeat: no-repeat;
405 .devtools-closebutton:hover > image,
406 .devtools-closebutton:hover:active > image {
407 background-position: -16px center;
410 .devtools-closebutton > .toolbarbutton-text {
414 #toolbox-close::before {
415 background-image: url("chrome://devtools/skin/close@2x.png");
418 /* In-tools sidebar */
420 .devtools-sidebar-tabs {
423 .devtools-sidebar-tabs > tabpanels {
428 .devtools-sidebar-tabs tabs {
433 .devtools-sidebar-alltabs {
438 border-width: 0 0 1px 0;
439 -moz-border-start-width: 1px;
440 border-style: solid;*/
443 .devtools-sidebar-alltabs .toolbarbutton-icon {
447 .devtools-sidebar-tabs tabs > .tabs-right,
448 .devtools-sidebar-tabs tabs > .tabs-left {
452 .devtools-sidebar-tabs tabs > tab {
460 .devtools-sidebar-tabs tabs > tab:-moz-focusring {
464 .devtools-sidebar-tabs tabs > tab:first-of-type {
465 -moz-margin-start: 0;
468 .devtools-sidebar-tabs tabs > tab:last-of-type {
469 -moz-border-end-width: 0;
472 .devtools-sidebar-tabs tabs > tab {
475 .devtools-sidebar-tabs tabs > tab[selected],
476 .devtools-sidebar-tabs tabs > tab[selected] + tab {
479 .devtools-sidebar-tabs tabs > tab:first-child {
482 .devtools-sidebar-tabs tabs > tab:hover {
485 .devtools-sidebar-tabs tabs > tab:hover:active {
488 .devtools-sidebar-tabs tabs > tab[selected] + tab:hover {
491 .devtools-sidebar-tabs tabs > tab[selected] + tab:hover:active {
494 .devtools-sidebar-tabs tabs > tab[selected],
495 .devtools-sidebar-tabs tabs > tab[selected]:hover:active {
498 /* Toolbox - moved from toolbox.css.
499 * Rules that apply to the global toolbox like command buttons,
500 * devtools tabs, docking buttons, etc. */
502 #toolbox-controls > toolbarbutton,
503 #toolbox-dock-buttons > toolbarbutton {
505 /* padding: 1px 3px; */
508 #toolbox-dock-buttons > toolbarbutton > image {
511 background-size: 32px 16px;
512 background-position: 0 center;
513 background-repeat: no-repeat;
516 #toolbox-dock-buttons > toolbarbutton:hover > image {
517 background-position: -16px center;
520 #toolbox-dock-bottom::before,
521 #toolbox-dock-bottom > image {
522 background-image: url("chrome://devtools/skin/dock-bottom@2x.png");
525 #toolbox-dock-side::before,
526 #toolbox-dock-side > image {
527 background-image: url("chrome://devtools/skin/dock-side@2x.png");
530 #toolbox-dock-window::before,
531 #toolbox-dock-window > image {
532 background-image: url("chrome://devtools/skin/undock@2x.png");
535 #toolbox-dock-bottom-minimize {
536 /* Bug 1177463 - The minimize button is currently hidden until we agree on
537 the UI for it, and until bug 1173849 is fixed too. */
541 #toolbox-dock-bottom-minimize > image {
542 background-image: url("chrome://devtools/skin/dock-bottom-minimize@2x.png");
545 #toolbox-dock-bottom-minimize.minimized > image {
546 background-image: url("chrome://devtools/skin/dock-bottom-maximize@2x.png");
549 #toolbox-dock-window,
550 #toolbox-dock-bottom,
554 #toolbox-dock-window:hover,
555 #toolbox-dock-bottom:hover,
556 #toolbox-dock-side:hover {
559 .devtools-separator {
564 #toolbox-buttons:empty + .devtools-separator,
565 .devtools-separator[invisible] {
569 #toolbox-controls-separator {
574 /* Command buttons */
577 -moz-appearance: none;
579 /* padding: 0 8px; */
583 -moz-user-focus: normal;
586 .command-button:hover {
587 /* background-color: var(--toolbar-tab-hover); */
589 .command-button:hover:active, .command-button[checked=true]:not(:hover) {
590 /* background-color: var(--toolbar-tab-hover-active) */
593 #command-button-frames {
597 #toolbox-close::before,
598 .toolbox-dock-button::before,
599 .command-button::before,
600 .command-button > image {
603 background-size: cover;
604 background-position: 0 center;
605 background-repeat: no-repeat;
608 #toolbox-close:hover::before,
609 #toolbox-close:hover:active::before,
610 .toolbox-dock-button:hover::before,
611 .toolbox-dock-button:hover:active::before,
612 .command-button:hover::before,
613 .command-button:hover:active::before,
614 .command-button[checked=true]::before,
615 .command-button[open=true]::before,
616 .command-button:hover > image,
617 .command-button:hover:active > image,
618 .command-button[checked=true] > image,
619 .command-button[open=true] > image {
620 filter: url(images/filters.svg#checked-icon-state);
623 #command-button-paintflashing > image,
624 #command-button-paintflashing::before {
625 background-image: var(--command-paintflashing-image);
628 #command-button-screenshot > image,
629 #command-button-screenshot::before {
630 background-image: var(--command-screenshot-image);
633 #command-button-responsive > image,
634 #command-button-responsive::before {
635 background-image: var(--command-responsive-image);
638 #command-button-scratchpad > image,
639 #command-button-scratchpad::before {
640 background-image: var(--command-scratchpad-image);
643 #command-button-pick > image,
644 #command-button-pick::before {
645 background-image: var(--command-pick-image);
648 #command-button-splitconsole > image,
649 #command-button-splitconsole::before {
650 background-image: var(--command-splitconsole-image);
653 #command-button-noautohide > image,
654 #command-button-noautohide::before {
655 background-image: var(--command-noautohide-image);
658 #command-button-eyedropper > image,
659 #command-button-eyedropper::before {
660 background-image: var(--command-eyedropper-image);
663 #command-button-rulers > image,
664 #command-button-rulers::before {
665 background-image: var(--command-rulers-image);
668 #command-button-measure > image,
669 #command-button-measure::before {
670 background-image: var(--command-measure-image);
673 #command-button-frames > image,
674 #command-button-frames::before {
675 background-image: var(--command-frames-image);
684 padding-inline-start: 3px;
685 margin-inline-start: 2px; /* this is only needed for the old button design */
686 margin-inline-end: 3px; /* this is for the new ::before-based button design */
687 background-color: #000000;
694 visibility: collapse;
697 #toolbox-deck[selectedIndex] > .toolbox-panel, /* workaround for Firefox 47 and older */
698 .toolbox-panel[selected] {
707 -moz-margin-end: 3px;
709 -moz-padding-start: 3px;
710 background-color: #C09070;
711 border-radius: 8px 8px 0 0;
714 .devtools-tab > image {
715 -moz-margin-end: 0px;
716 /* -moz-margin-start: 4px; */
718 width: 16px; /* Prevents collapse during theme switching */
721 .devtools-tab:hover > image {
724 .devtools-tab:active > image,
725 .devtools-tab[selected] > image {
729 .devtools-tab:hover:active {
730 background-color: var(--theme-hover-background);
731 color: var(--theme-hover-color);
734 .devtools-tab[selected] {
735 background-color: var(--theme-selection-background);
736 color: var(--theme-selection-color);
739 .devtools-tab > spacer {
744 .devtools-tab > image {
746 -moz-margin-start: 0;
749 #toolbox-picker-container {
750 margin-inline-start: 1px;
753 #toolbox-option-container {
754 background-color: #000000;
755 padding-inline-start: 3px;
756 margin-inline-end: 1px;
759 #toolbox-tab-options {
763 #toolbox-tab-options > image {
764 -moz-margin-end: 3px;
767 .devtools-tab:not([highlighted]) > .highlighted-icon,
768 .devtools-tab[selected] > .highlighted-icon,
769 .devtools-tab:not([selected])[highlighted] > .default-icon {
770 visibility: collapse;
773 .devtools-tab:not([selected])[highlighted] {
776 .devtools-tab:not([selected])[highlighted] {
780 .devtools-tab:not([highlighted]) > .highlighted-icon,
781 .devtools-tab[selected] > .highlighted-icon,
782 .devtools-tab:not([selected])[highlighted] > .default-icon {
783 visibility: collapse;
786 /* The options tab is special - it doesn't have the same parent
787 as the other tabs (toolbox-option-container vs toolbox-tabs) */
788 #toolbox-option-container .devtools-tab:not([selected]) {
789 /* background-color: transparent;*/
791 #toolbox-option-container .devtools-tab {
792 /* border-color: transparent;
794 -moz-padding-start: 1px;*/
796 #toolbox-tab-options > image {
800 .hidden-labels-box:not(.visible) > label,
801 .hidden-labels-box.visible ~ .hidden-labels-box > label:last-child {
805 .devtools-horizontal-splitter {
806 /* border-bottom: 1px solid var(--theme-splitter-color); */
809 .devtools-side-splitter {
810 /* -moz-border-end: 1px solid var(--theme-splitter-color);
811 border-color: var(--theme-splitter-color); / Needed for responsive container at low width. */
815 .devtools-throbber::before {
817 display: inline-block;
818 vertical-align: bottom;
819 -moz-margin-end: 0.5em;
822 border: 2px solid currentColor;
823 border-right-color: transparent;
825 animation: 1.1s linear throbber-spin infinite;
828 @keyframes throbber-spin {
833 transform: rotate(360deg);