Files
Thomas Vincent 62063a29e0 fix(theme): [develop] correct CSS cascade, invalid values and responsive selectors (#8293)
* fix(themes): correct CSS cascade, font fallbacks and responsive selectors

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* fix(themes): remove validated empty and redundant CSS rules

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* style(css): remove reviewed inactive rules and redundant separators

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* style(themes): consolidate two reviewed duplicate selectors

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* fix(themes): remove identical whitespace declaration after consolidation

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* fix(theme): keep context menu fallbacks in Cacti overrides

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* test(theme): measure native CSS and header coverage

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* ci: retain bootstrap coverage and validate request dispatch

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* test: synchronize native coverage fixture dispatch

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* test: measure coverage at the exact PR revision

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* test: cover Midwinter and graph heading CSS repairs in Chromium

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* ci: take the theme coverage base from the merge commit parent

- github.event.pull_request.base.sha can predate the develop tip the checkout was merged onto, which counted develop's own CSS lines as the PR's.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

---------

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
2026-10-14 22:51:15 -04:00

284 lines
6.4 KiB
CSS

#zoom-container {
position: absolute;
pointer-events: none;
z-index:auto;
width: 100%;
height: 100%;
}
#zoom-box {
width:0;
height:0;
top:0;
left:0;
position:absolute;
overflow:hidden;
border:0;
z-index:auto;
pointer-events: all;
}
.zoom-crosshair {
display: none;
position:relative;
top:0;
right:0;
&.x-axis {
width:100%;
height:0;
border-top: 1px dashed var(--border-color-highlight);
}
&.y-axis {
width:0;
height:100%;
border-left: 1px dashed var(--border-color-highlight);
}
}
#zoom-area {
display: none;
width: 0;
cursor:e-resize;
background-color: var(--background-progress-semilight);
height:0;
position:absolute;
z-index:auto;
filter:alpha(opacity=50);
opacity:0.5;
overflow:hidden;
padding:0;
margin:0;
box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
-o-box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
-webkit-box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
-moz-box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
border: 1px solid rgba(0,0,0,0.5);
border-radius: 2px 2px 2px 2px;
}
.zoom-area-excluded {
display:none;
background-color: var(--background-progress-semilight);
height:0;
position:absolute;
z-index:auto;
filter:alpha(opacity=5);
opacity:0.5;
overflow:hidden;
padding:0;
margin:0;
box-shadow: 0 2px 6px rgba(0,0,0,0.75), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
-o-box-shadow: 0 2px 6px rgba(0,0,0,0.75), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
-webkit-box-shadow: 0 2px 6px rgba(0,0,0,0.75), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
-moz-box-shadow: 0 2px 6px rgba(0,0,0,0.75), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
border: 1px solid rgba(0,0,0,0.75);
border-radius: 2px 2px 2px 2px;
}
.zoom-marker {
cursor: e-resize;
border-left: 1px dotted #9d9d9d;
width: 0;
height: 120px;
position: absolute;
z-index: auto;
display: none;
&::before {
position: relative;
top: -10px;
left: -4px;
content: "\f0d7";
font-family: "Font Awesome 5 Free", sans-serif;
font-weight: 600;
}
&::after {
left: -4px;
bottom: -10px;
position: inherit;
content: "\f0d8";
font-family: "Font Awesome 5 Free", sans-serif;
font-weight: 600;
}
.zoom-marker-tooltip {
display: inline-flex;
position: absolute;
z-index:300;
background: transparent;
transform: translateX(-100%);
left: 0;
&[id$="-1"] { top: 0.5rem; }
&[id$="-2"] { bottom: 0.5rem; }
&::before,
&::after {
display: none;
content: "\f0d9";
font-family: "Font Awesome 5 Free", sans-serif;
font-weight: 600;
font-size: 1.25rem;
z-index:301;
margin-top: 0.3rem;
}
&::after {
display: unset;
content: "\f0da";
}
&.relative-right { transform: unset }
&.relative-right::after { display: none; }
&.relative-right::before { display: unset; }
}
}
.zoom-marker-tooltip-value{
white-space: pre-line;
color: var(--text-color-normal);
background: var(--background-content);
padding: 0.25rem 0.5rem;
border: 1px solid var(--border-color);
border-radius: 5px;
box-shadow: var(--box-shadow-color) 0 5px 10px;
opacity: 0.98;
}
.zoom-menu,
.zoom-livedata {
color: var(--text-color-normal);
position: absolute;
background: var(--background-content);
display: none;
z-index: 1200 !important;
border: 1px solid var(--border-color);
border-radius: 5px;
box-shadow: var(--box-shadow-color) 0 10px 20px;
opacity: 0.98;
}
.zoom-menu > div:first-child,
.inner_li > :first-child {
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
.zoom-menu > div:last-child,
.inner_li > :last-child {
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}
.zoom-menu .first_li span {
width: 150px;
display: block;
padding: 4px 15px;
cursor: pointer;
text-align: left;
}
.zoom-menu .inner_li {
display: none;
margin-left: 150px;
position: absolute;
margin-top: -28px;
color: var(--text-color-normal);
background: var(--background-content);
border: 1px solid var(--border-color);
border-radius: 5px;
box-shadow: var(--box-shadow-color) 0 10px 20px;
opacity: 0.98;
}
.zoom-menu .sep_li {
border-top: 1px solid #323339;
}
.zoom-menu .fill_title {
font-size: 1em;
font-weight:bold;
overflow:hidden;
word-wrap:break-word;
}
.zoom-menu .ui-icon {
float:left;
margin-left: 0.2em;
margin-right:0.4em;
margin-top: 2px;
}
.zoom-menu .ui-icon-right {
display: none;
}
.zoom-menu .ui-icon-empty {
width: 16px;
height: 16px;
background-image:none;
}
div.zoom-menu-hover, div.inner_li>span.zoom-menu-hover{
cursor: pointer;
background: #0d0e15;
color: #f2f2f3;
}
.zoom-menu-highlight {
border-top: 0;
border-right: 0;
border-bottom: 0;
border-left-width: 2px;
background: #0d0e15;
color: #f2f2f3;
}
.zoom-hidden {
z-index: -999;
position: fixed;
top: 0;
left: 0;
opacity: 0;
}
.zoom-livedata {
min-width: 22rem;
padding: 0.5rem 1rem;
}
.zoom-livedata-header {
vertical-align: central;
height: 2rem;
margin-bottom: 0.5rem;
border-bottom: 1px solid var(--border-color-light);
}
.zoom-livedata-item {
display: flex;
justify-content: space-between;
align-items: center;
}
.zoom-livedata-color {
width: 16px;
height: 16px;
flex-grow: 0;
background-color: transparent;
margin-right: 0.25rem;
border: 2px solid var(--background-content);
border-radius: 4px;
}
.zoom-livedata-value {
font-family: var(--font-mono), monospace;
text-align: right;
white-space-collapse: preserve;
}
.zoom-livedata-title {
flex: 1;
text-align: left;
margin-right: 1rem;
}
.zoom-livedata-unit {
min-width: 0.5rem;
}