summaryrefslogtreecommitdiff
path: root/devtools/client/themes/boxmodel.css
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/themes/boxmodel.css')
-rw-r--r--devtools/client/themes/boxmodel.css431
1 files changed, 431 insertions, 0 deletions
diff --git a/devtools/client/themes/boxmodel.css b/devtools/client/themes/boxmodel.css
new file mode 100644
index 0000000000..96c58649d9
--- /dev/null
+++ b/devtools/client/themes/boxmodel.css
@@ -0,0 +1,431 @@
+/* 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/ */
+
+:root {
+ --marginbox-color: #FDFFDF;
+ --borderbox-color: var(--grey-50);
+ --paddingbox-color: #E3DCFF;
+ --contentbox-color: #CFF0FB;
+ --marginbox-border-color: #D8E60A;
+ --contentbox-border-color: #54A9FF;
+ --position-border-color: var(--grey-50);
+}
+
+:root.theme-dark {
+ --marginbox-color: #73764A;
+ --borderbox-color: var(--grey-70);
+ --paddingbox-color: #6657A6;
+ --contentbox-color: #407AA4;
+ --marginbox-border-color: #BDCA00;
+ --contentbox-border-color: #00B8FF;
+ --position-border-color: var(--grey-40);
+}
+
+.boxmodel-container {
+ overflow: auto;
+ padding-bottom: 4px;
+ max-width: 600px;
+ margin: 0 auto;
+}
+
+/* Header */
+
+.boxmodel-header,
+.boxmodel-info {
+ display: flex;
+ align-items: center;
+ padding: 4px 19px;
+}
+
+.layout-geometry-editor::before {
+ background: url(images/geometry-editor.svg) no-repeat center center / 16px 16px;
+}
+
+/* Main: contains the box-model regions */
+
+.boxmodel-main {
+ position: relative;
+ color: var(--theme-selection-color);
+ /* Make sure there is some space between the window's edges and the regions */
+ margin: 14px auto;
+ width: calc(100% - 2 * 14px);
+ min-width: 240px;
+ /* The view will grow bigger as the window gets resized, until 400px */
+ max-width: 400px;
+}
+
+.boxmodel-box {
+ margin: 25px;
+}
+
+.boxmodel-size {
+ color: var(--grey-90);
+}
+
+.boxmodel-position,
+.boxmodel-margin,
+.boxmodel-padding {
+ color: var(--grey-50);
+}
+
+.theme-dark .boxmodel-margin,
+.theme-dark .boxmodel-border,
+.theme-dark .boxmodel-padding,
+.theme-dark .boxmodel-size {
+ color: var(--grey-10);
+}
+
+.theme-dark .boxmodel-position {
+ color: var(--grey-30);
+}
+
+/* Regions are 3 nested elements with wide borders and outlines */
+
+.boxmodel-contents {
+ height: 18px;
+ outline: dashed 1px var(--contentbox-border-color);
+}
+
+.boxmodel-margins {
+ border-width: 22px;
+ border-style: solid;
+ outline: dashed 1px var(--marginbox-border-color);
+}
+
+.boxmodel-borders {
+ border-width: 5px;
+ border-style: solid;
+}
+
+.boxmodel-paddings {
+ border-width: 27px;
+ border-style: solid;
+}
+
+/* Regions colors */
+
+.boxmodel-margins {
+ border-color: var(--marginbox-color);
+}
+
+.boxmodel-borders {
+ border-color: var(--borderbox-color);
+}
+
+.boxmodel-paddings {
+ border-color: var(--paddingbox-color);
+}
+
+.boxmodel-contents {
+ background-color: var(--contentbox-color);
+}
+
+/* Editable region sizes are contained in absolutely positioned <p> */
+
+.boxmodel-main > p,
+.boxmodel-size {
+ position: absolute;
+ pointer-events: none;
+ margin: 0;
+ text-align: center;
+ direction: ltr;
+}
+
+.boxmodel-main > p > span,
+.boxmodel-main > p > input,
+.boxmodel-content,
+.boxmodel-size > span {
+ vertical-align: middle;
+ pointer-events: auto;
+}
+
+/* Coordinates for the region sizes */
+
+.boxmodel-top,
+.boxmodel-bottom {
+ width: calc(100% - 2px);
+ text-align: center;
+ z-index: 1; /* workaround for bug 1559706 */
+}
+
+.boxmodel-padding.boxmodel-top {
+ top: 34px;
+}
+
+.boxmodel-padding.boxmodel-bottom {
+ bottom: 35px;
+}
+
+.boxmodel-border.boxmodel-top {
+ top: 17px;
+}
+
+.boxmodel-border.boxmodel-bottom {
+ bottom: 17px;
+}
+
+.boxmodel-margin.boxmodel-top {
+ top: 0px;
+}
+
+.boxmodel-margin.boxmodel-bottom {
+ bottom: 1px;
+}
+
+.boxmodel-size,
+.boxmodel-position.boxmodel-left,
+.boxmodel-position.boxmodel-right,
+.boxmodel-margin.boxmodel-left,
+.boxmodel-margin.boxmodel-right,
+.boxmodel-border.boxmodel-left,
+.boxmodel-border.boxmodel-right,
+.boxmodel-padding.boxmodel-left,
+.boxmodel-padding.boxmodel-right {
+ top: 22px;
+ line-height: 80px;
+ z-index: 1; /* workaround for bug 1559706 */
+}
+
+.boxmodel-size {
+ width: calc(100% - 2px);
+}
+
+.boxmodel-position.boxmodel-top,
+.boxmodel-position.boxmodel-bottom,
+.boxmodel-position.boxmodel-left,
+.boxmodel-position.boxmodel-right,
+.boxmodel-margin.boxmodel-right,
+.boxmodel-margin.boxmodel-left,
+.boxmodel-border.boxmodel-right,
+.boxmodel-border.boxmodel-left,
+.boxmodel-padding.boxmodel-right,
+.boxmodel-padding.boxmodel-left {
+ width: 21px;
+}
+
+.boxmodel-padding.boxmodel-left {
+ left: 56px;
+}
+
+.boxmodel-padding.boxmodel-right {
+ right: 56px;
+}
+
+.boxmodel-border.boxmodel-left {
+ left: 39px;
+}
+
+.boxmodel-border.boxmodel-right {
+ right: 39px;
+}
+
+.boxmodel-margin.boxmodel-right {
+ right: 24px;
+}
+
+.boxmodel-margin.boxmodel-left {
+ left: 24px;
+}
+
+.boxmodel-rotate.boxmodel-left:not(.boxmodel-editing) {
+ transform: rotate(-90deg);
+}
+
+.boxmodel-rotate.boxmodel-right:not(.boxmodel-editing) {
+ transform: rotate(90deg);
+}
+
+.boxmodel-rotate.boxmodel-left.boxmodel-position:not(.boxmodel-editing) {
+ border-top: none;
+ border-right: 1px solid var(--theme-highlight-purple);
+ width: auto;
+ height: 30px;
+}
+
+.boxmodel-size > p {
+ display: inline-block;
+ margin: auto;
+ line-height: 0;
+}
+
+.boxmodel-rotate.boxmodel-right.boxmodel-position:not(.boxmodel-editing) {
+ border-top: none;
+ border-left: 1px solid var(--theme-highlight-purple);
+ width: auto;
+ height: 30px;
+}
+
+/* Box Model Positioning: contains top, right, bottom, left */
+
+.boxmodel-position.boxmodel-top,
+.boxmodel-position.boxmodel-bottom {
+ border-left: 1px solid var(--position-border-color);
+ left: calc(50% - 2px);
+ padding-left: 1px;
+}
+
+.boxmodel-position.boxmodel-right,
+.boxmodel-position.boxmodel-left {
+ border-top: 1px solid var(--position-border-color);
+ line-height: 15px;
+ top: calc(50% - 1px);
+ width: 30px;
+}
+
+.boxmodel-position.boxmodel-top {
+ top: -18px;
+}
+
+.boxmodel-position.boxmodel-right {
+ right: -9px;
+}
+
+.boxmodel-position.boxmodel-bottom {
+ bottom: -18px;
+}
+
+.boxmodel-position.boxmodel-left {
+ left: -9px;
+}
+
+/* Legend: displayed inside regions */
+
+.boxmodel-legend {
+ position: absolute;
+ z-index: 1;
+ cursor: default;
+}
+
+.boxmodel-legend[data-box="margin"] {
+ margin-left: 9px;
+ margin-top: 4px;
+ color: var(--grey-90);
+}
+
+.boxmodel-legend[data-box="position"] {
+ color: var(--grey-90);
+ margin: -18px 13px;
+}
+
+.boxmodel-legend[data-box="padding"] {
+ margin-top: 12px;
+ margin-left: 12px;
+ color: var(--grey-90);
+}
+
+.boxmodel-legend[data-box="border"] {
+ background-color: var(--borderbox-color);
+ height: 15px;
+ padding-top: 1px;
+ padding-left: 4px;
+ padding-right: 4px;
+ border-radius: 3px;
+ margin: 0px 0px;
+}
+
+.theme-dark .boxmodel-legend[data-box="margin"],
+.theme-dark .boxmodel-legend[data-box="border"],
+.theme-dark .boxmodel-legend[data-box="padding"] {
+ color: var(--grey-10);
+}
+
+.theme-dark .boxmodel-legend[data-box="position"] {
+ color: var(--grey-30);
+}
+
+/* Editable fields */
+
+.boxmodel-editable {
+ position: relative;
+ border: 1px dashed transparent;
+ user-select: none;
+ white-space: nowrap;
+ cursor: pointer;
+}
+
+.boxmodel-editable[data-box="border"] {
+ background-color: var(--borderbox-color);
+ border-radius: 3px;
+ padding: 0 2px;
+}
+
+.boxmodel-editable:hover {
+ border-bottom-color: hsl(0, 0%, 50%);
+}
+
+.boxmodel-editable:focus,
+.boxmodel-editable:active {
+ border: 1px solid var(--blue-50);
+ outline: none;
+}
+
+.boxmodel-editable[data-box="margin"]:hover {
+ background-color: var(--marginbox-border-color);
+}
+
+.boxmodel-editable[data-box="padding"]:hover {
+ background-color: #c78fc7b3;
+}
+
+.boxmodel-editable[data-box="border"]:hover {
+ background-color: #545454;
+}
+
+.boxmodel-editable[data-box="content"]:hover {
+ background-color: var(--contentbox-border-color);
+}
+
+.boxmodel-editable[data-box="margin"]:hover,
+.boxmodel-editable[data-box="padding"]:hover,
+.boxmodel-editable[data-box="border"]:hover,
+.boxmodel-editable[data-box="content"]:hover {
+ border-radius: 3px;
+}
+
+.boxmodel-size > span {
+ cursor: default;
+}
+
+/* Box Model Info: contains the position and size of the element */
+
+.boxmodel-element-size {
+ flex: 1;
+ direction: ltr;
+ text-align: match-parent;
+}
+
+.boxmodel-position-group {
+ display: flex;
+ align-items: center;
+}
+
+/* Tag displayed next to DOM Node previews (used to display reference elements) */
+
+.boxmodel-container .reference-element {
+ margin-inline-start: 14px;
+ margin-block-start: 4px;
+ display: block;
+}
+
+.boxmodel-container .reference-element-type {
+ background: var(--theme-highlight-purple);
+ color: white;
+ padding: 1px 2px;
+ border-radius: 2px;
+ font-size: 9px;
+ margin-inline-end: 5px;
+}
+
+.theme-dark .boxmodel-container .reference-element-type {
+ color: black;
+}
+
+/* Box Model Main - Offset Parent */
+
+.boxmodel-offset-parent {
+ position: absolute;
+ top: -20px;
+ right: -10px;
+ color: var(--theme-highlight-purple);
+}